我正在尝试将内存使用情况监控添加到console.aws.amazon.com上的实例的监控选项卡中。这是运行Amazon Linux AMI 2013.09.2的实例我找到了Amazon CloudWatch Monitoring Scripts for Linux,特别是mon-put-instance-data.pl,让我收集内存统计信息并将其作为自定义指标报告给CloudWatch。
要使其工作,我需要将环境变量AWS_CREDENTIAL_FILE设置为指向包含我的AWSAccessKeyId和AWSSecretKey的文件。我这样做是通过输入:
export AWS_CREDENTIAL_FILE=/home/ec2-user/aws-scripts-mon/awscreds.template
为了避免不得不一遍又一遍地输入,我正在寻找一种在启动时设置环境变量的方法。我已经尝试将代码添加到这些文件中:
/etc/rc.local file
/etc/profile
/home/ec2-user/.bash_profile
当我切换到 root用户时,在任一文件中添加代码行似乎都有效,我应该把它放在哪里?如果我在/home/ec2-user/.bash_profile中设置变量,则为ec2-user设置变量,但不为root设置变量。如果我然后sudo -E su它有效,但我不知道这是否是最好的方法呢?
答案 0 :(得分:4)
创建一个sh文件并将代码放入其中。然后将此sh文件放在 /etc/profile.d / 文件夹中。
注意:使用root用户创建此sh文件。
创建实例后,此sh文件将自动运行并为您创建环境变量,并且所有用户都可以访问此环境变量。