Cloudwatch Agent

Ubuntu18 дээр суулгах заавар

Ankhbayar Gansukh
Unimedia Solutions
4 min readMay 14, 2019

--

Инфра дэд бүтэцийн тасралтгүй ажиллагааг хянаж нэгдсэн мониторинг хийх олон янзын түүлүүд байдаг ба AWS-ийн шийдэл нь Cloudwatch юм. Cloudwatch дээр AWS-ийн бүх ресорсын мониторинг мэдээллүүд автоматаар цуглардаг боловч серверийн зарим мэдээллийг авахын тулд сервер дээр Cloudwatch Agent суулгах шаардлагатай байдаг.

Cloudwatch Agent нь сервер дээр ажиллаж hardware болон software мэдээллийг Cloudwatch-руу метрик болгон илгээнэ. Доорх боломжуудыг олгодог.

  • Системийн ажиллагааны мэдээлэл(CPU-ий ачаалал, Санах ойн хэрэглээ, Хард дискний хэрэглээ гэм мэт) -ийг Cloudwatch-руу метрик болгон илгээнэ. Илгээх метрикийн жагсаалтыг эндээс харна уу.
  • Та сервер дээрээ StatsD эсвэл CollectD түүл ашигладаг бол Cloudwatch Agent-тай холбон ашиглах боломжтой (энэ сэдэв дээр бид ярихгүй).
  • Сервер дээрх дурын логийг Cloudwatch Logs-руу илгээнэ. Энэ нь танд логоос аларм үүсгэх болон бусад олон давуу талыг бий болгоно. Дэлгэрэнгүйг эндээс уншаарай.
  • EC2 серверээс гадна OnPremise сервер дээр ажиллана.
  • Linux болон Windows үйлдлийн систем ялгалгүй ажиллана.

Ubuntu18 үйлдлийн системтэй EC2 дээр Cloudwatch Agent суулгаж доорх хоёр метрикийг Cloudwatch-руу илгээж үзэцгээе.

mem_used_percent - санах ой хэдэн хувиар ашиглаж байгаа

disk_used_percent - хард диск хэдэн хувиар ашиглаж байгаа

Юуны өмнө сервер маань Cloudwatch-руу мэдээлэл илгээхийн тулд доорх эрх бүхий IAM Role-оор ажиллах ёстой.

  • CloudWatchAgentAdminPolicy
  • CloudWatchAgentServerPolicy
  • AmazonEC2RoleforSSM
  • Доорх inline policy↓ (SSM-ийн GetParameter-ийг зөвшөөрөх)

Дээрх нь Cloudwatch Agent бүрэн функцээр ажиллахад шаардлагтай policy-ууд юм. Хэрэв эрх нь хүрэхгүй бол агент маань мэдээллээ илгээж чадахгүй.

OnPremise сервер дээр ажиллуулах бол Cloudwatch Agent-аа суулгасны дараа дээрх эрх бүхий IAM хэрэглэгчийн access key-г агентад тохируулах хэрэгтэй.

Cloudwatch Agent нь дефаултаар тохиргоо файлаа локал дээрээ хадгалан түүнээсээ уншин ажилладаг. Манай тохиолдолд олон серверүүд ажиллаж байгаа бөгөөд бүгд адилхан тохиргоо ашиглах юм. Серверүүд маань дундын нэг тохиргооноос уншихын тулд бид AWS SSM(Systems Manager)-ийн Parameter Store-д тохиргоогоо хадгалах болно.

SSM Parameter Store нь мэдээллийг нууцлалтай хадгалах storage юм. Ихэвчлэн системийн тохиргоо болон нууц мэдээллийг хадгалдаг, жишээ нь аппликэшнд хэрэгтэй нууц үг эсвэл database connection string зэрэг.

Тэгэхээр сервер дээрээ эхлээд SSM Agent суулгая.

SSM Agent суулгах

Сервер дээр SSM Agent амжилттай суусан бол AWS Management Console-ийн SSM -> Managed Instances жагсаалтруу таны сервер орж ирсэн байх болно.

Cloudwatch Agent суулгах

Cloudwatch Agent тохируулах

Зорилтот mem_used_percent, disk_used_percent метрикүүдийг Cloudwatch-руу илгээхээр тохируулъя.

vi -аар нээсний дараа доорх тохиргоог хуулж тавиад хадгална.

Тохиргооны талаар дэлгэрэнгүйг эндээс харж болно↓
Manually Create or Edit the CloudWatch Agent Configuration File

Тохиргоог SSM Parameter Store-д хадгалах

Үүсгэсэн тохиргоогоо өөр серверээс ашиглахын тулд AWS SSM-ийн Parameter Store дээр LinuxCustomMetrics нэрээр хадгалъя. (AWS CLI ашиглаж хадгалах тул CLI суулгаж режион тохируулсан байх шаардлагтай)

Эсвэл AWS Console-оос SSM-ийн Parameter Store дээр LinuxCustomMetrics нэртэй параметрийг гараараа бүртгэж бас болно.

Cloudwatch agent-ийг ажиллуулах

SSM Parameter Store-д хадгалсан тохиргоогоор ажиллуулна.

Мөн тестлэх зорилгоор Parameter Store ашиглахгүйгээр локалаас тохиргоогоо уншмаар бол ингэж ажиллуулна↓

Анх суулгасны дараа Cloudwatch Agent нь ямар тохиргоогоор ажиллаж байгааг шалгах шаардлага гардаг. Үүний тулд процесс листийг харна.

дээрх үр дүнгээс харахад /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.toml тохиргоогоор ажиллаж байгаа нь харагдаж байна. Уг файлыг нээж үзэхэд таны тохируулснаар ажиллаж байгаа эсэх нь ойлгогдоно.

Ингээд Cloudwatch-руу CWAgent namespace-тэйгээр шинэ метрикууд маань орж ирнэ.

--

--