기술나눔

Grafana와 Zabbix 도킹

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. 그라파나 설치

1.초기화 작업

  1. 初始化操作
  2. systemctl disable --now firewalld
  3. setenforce 0
  4. vim /etc/selinux/config
  5. SELINUX=disabled

2. 데이터 패키지 업로드 및 설치

  1. cd /opt
  2. grafana-enterprise-9.4.7-1.x86_64.rpm #上传软件包
  3. yum localinstall -y grafana-enterprise-9.4.7-1.x86_64.rpm #安装
  4. systemctl enable --now grafana-server.service #开启服务
  5. netstat -lntp | grep 3000 #查询是否已经开启服务

2. 브라우저 접속

1. 그라파나에 로그인

브라우저에 http://192.168.10.50:3000을 입력하세요.

계정/비밀번호:admin/admin

2. 비밀번호를 변경하고 로그인하세요.

3. Grafana에 zabbix 추가

그런 다음 플러그인 인터페이스로 돌아가면 zabbix가 설치되었습니다.

4. zabbix 데이터를 가져오고 연결그라파나

3. Linux 시스템 상태 모니터링

1.모니터링 템플릿을 선택하세요

여기서는 CPU와 로드 평균의 두 가지 상태만 모니터링합니다.

2. 모니터 작업

3. 저장 작업

4. Linux 시스템 서비스 상태 모니터링(두 번째 템플릿)

1. 템플릿을 선택하거나 템플릿을 가져옵니다.

2. 데이터 수정

3. 특정 모니터링 상태 수정

CPU 코어 수를 직접 수정할 수는 없습니다. 먼저 다음을 수행해야 합니다.

이런 방식으로 CPU 수를 모니터링할 수 있습니다.

이후의 작업은 일반적으로 동일합니다. 먼저 아이콘 위의 키워드를 찾아 다시 입력하세요.

최종 결과는 이렇습니다

Zabbix에 비해 구체적인 상태를 관찰하기 쉽습니다

5. nginx 모니터링

nginx 모니터링을 구현하려면 먼저 다음 구성이 있어야 합니다.--with-http 스텁 상태 모듈

1. nginx 구성 수정

  1. vim /etc/nginx/conf.d/default.conf
  2. location / {
  3. root /var/www/zbx;
  4. index index.php index.html index.htm;
  5. }

  1. systemctl reload nginx.service
  2. curl -s http://192.168.10.20/nginx_state

2. nginx의 상태를 보는 스크립트를 작성하세요.

  1. vim nginx_status.sh
  2. chmod +x nginx_status.sh
  3. ./nginx_status.sh waiting

nginx 상태를 감지하는 스크립트

  1. #!/bin/bash
  2. IP=192.168.10.20
  3. PORT=80
  4. STUB_URI=nginx_state
  5. active() {
  6. curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==1 {print $3}'
  7. }
  8. accepts() {
  9. curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==3 {print $1}'
  10. }
  11. handled() {
  12. curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==3 {print $2}'
  13. }
  14. requests() {
  15. curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==3 {print $3}'
  16. }
  17. Reading() {
  18. curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==4 {print $2}'
  19. }
  20. writing() {
  21. curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==4 {print $4}'
  22. }
  23. waiting() {
  24. curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==4 {print $6}'
  25. }
  26. process() {
  27. pidof nginx | wc -w
  28. }
  29. case $1 in
  30. active)
  31. active
  32. ;;
  33. accepts)
  34. accepts
  35. ;;
  36. handled)
  37. handled
  38. ;;
  39. requests)
  40. requests
  41. ;;
  42. Reading)
  43. Reading
  44. ;;
  45. Writing)
  46. writing
  47. ;;
  48. Waiting)
  49. waiting
  50. ;;
  51. process)
  52. process
  53. ;;
  54. *)
  55. echo "Usage: $0 {active|accepts|handled|requests|Reading|writing|waiting|process}" exit 1
  56. esac
  57. exit 0

상태를 볼 수 있는지 확인

3. 키 값 설정

  1. vim nginx_state.conf
  2. UserParameter=nginx.status[*],/etc/zabbix/zabbix_agent2.d/nginx_status.sh $1

4. zabbix 웹 측에서 사용자 정의 모니터링 항목을 완료합니다.

(1) 템플릿 생성

(2) 모니터링 항목 생성

(3) 트리거 생성

4. grafana를 사용하여 nginx 모니터링