2014-01-20 70 views
4

我正在尝试将内存使用情况监视添加到console.aws.amazon.com实例的监视选项卡上。这是一个运行Amazon Linux AMI 2013.09.2的实例。我找到了Amazon CloudWatch Monitoring Scripts for Linux,特别是mon-put-instance-data.pl,它让我收集内存统计信息并将其作为自定义指标报告给CloudWatch。如何在启动时为root用户设置环境变量?

为了让这个工作,我需要设置环境变量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用户设置的,但不是为root设置的。如果我然后sudo -E su它的工作,但我不知道这是否是最好的方式去做呢?

回答

4

创建一个sh文件并将代码放入其中。然后把这个sh文件放在/etc/profile.d/文件夹中。

注意:使用root用户创建这个sh文件。

创建实例后,该sh文件将自动运行并为您创建环境变量,并且此环境变量将为所有用户所访问。