728x90
반응형

템플릿 설정


MySQL/MariaDB


참고

ZABBIX에 기본으로 붙어 있는 템플릿을 사용한다.다만 리플리케이션의 설정은 없어서 독자적으로 추가하고 있다.
감시되는 서버 측에 아래와 같이 설정

1. /etc/zabbix/zabbix-agentd.d/userparameter_mysql.conf
PATH나 명령은 서버에 맞추어 적절히 변경한다.

UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | PATH=/usr/local/mysql/bin HOME=/var/lib/zabbix /usr/local/mysql/bin/mysql --defaults-extra-file=/etc/zabbix/my.cnf -N | awk '{print $$2}'
UserParameter=mysql.size[*],echo "select sum($(case "$3" in both|"") echo "data_length+index_length";; data|index) echo "$3_length";; free) echo "data_free";; esac)) from information_schema.tables$([[ "$1" = "all" || ! "$1" ]] || echo " where table_schema='$1'")$([[ "$2" = "all" || ! "$2" ]] || echo "and table_name='$2'");" | PATH=/usr/local/mysql/bin HOME=/var/lib/zabbix mysql --defaults-extra-file=/etc/zabbix/my.cnf -N
UserParameter=mysql.ping, PATH=/usr/local/mysql/bin HOME=/var/lib/zabbix mysqladmin --defaults-extra-file=/etc/zabbix/my.cnf ping | grep -c alive
UserParameter=mysql.version, PATH=/usr/local/mysql/bin mysql --defaults-extra-file=/etc/zabbix/my.cnf -V
# for Replication
UserParameter=mysql.replication[*],echo "show slave status\G" | PATH=/usr/local/mysql/bin HOME=/var/lib/zabbix mysql --defaults-extra-file=/etc/zabbix/my.cnf  | grep $1: | awk '{print $$2}'

패키지에서 설치하고 있는 경우는 아래 처럼.

UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/var/lib/zabbix mysql --defaults-extra-file=/etc/zabbix/my.cnf -N | awk '{print $$2}'
UserParameter=mysql.size[*],echo "select sum($(case "$3" in both|"") echo "data_length+index_length";; data|index) echo "$3_length";; free) echo "data_free";; esac)) from information_schema.tables$([[ "$1" = "all" || ! "$1" ]] || echo " where table_schema='$1'")$([[ "$2" = "all" || ! "$2" ]] || echo "and table_name='$2'");" | HOME=/var/lib/zabbix mysql ---defaults-extra-file=/etc/zabbix/my.cnf -N
UserParameter=mysql.ping, HOME=/var/lib/zabbix mysqladmin --defaults-extra-file=/etc/zabbix/my.cnf ping | grep -c alive
UserParameter=mysql.version, mysql --defaults-extra-file=/etc/zabbix/my.cnf -V
# for Replication
UserParameter=mysql.replication[*],echo "show slave status\G" | HOME=/var/lib/zabbix mysql --defaults-extra-file=/etc/zabbix/my.cnf  | grep $1: | awk '{print $$2}'

2. /etc/zabbix/my.cnf를 작성.유저, 패스는 환경에 맞추어 적절히 변경.

[client]
user        = monitor
password    = test!
socket      = /usr/local/mysql/tmp/mysql.sock

 - 패키지에서 설치하고 있는 경우는 아래

[client]
user        = monitor
password    = test!
socket      = /var/lib/mysql/mysql.sock

3. zabbix agent를 재기동

4. ZABBIX서버 측에서 확인

# zabbix_get -s <target host> -k mysql.ping
1

1에서 정상 가동하고 있는 확인 OK.mysql이 실행하고 있는데 잘 안 될 경우는 agent측의 로그를 확인.

 

MongoDB


1. /etc/zabbix/zabbix-agentd.d/userparameter_mongodb.conf의 작성

 - mongod의 서버

 - PATH나 명령은 서버에 맞추어 적절히 변경한다.

# status 
UserParameter=mongodb.ok,/bin/echo "db.serverStatus().ok" | /usr/local/mongodb/bin/mongo --port 30001 -u monitor -p test2! admin | head -3 | tail -1

# replicaset
UserParameter=mongodb.rsok,/bin/echo "rs.status()" | /usr/local/mongodb/bin/mongo --port 30001 -u monitor -p test2! admin | grep stateStr | grep -v -E 'PRIMARY|SECONDARY|ARBITER' -c

# 기타 상태의 모든 접근
UserParameter=mongodb.status[*],/bin/echo "db.serverStatus().$1" | /usr/local/mongodb/bin/mongo --port 30001 -u monitor -p test2! admin | grep "$2"|awk -F: '{print $$2}'|awk -F, '{print $$1}'

 - mongos의 서버

UserParameter=mongodb.ok,/sbin/pidof mongos | wc -l
또는
UserParameter=mongodb.ok,/sbin/pidof mongod | wc -l

2. zabbix agent를 재기동

3. ZABBIX서버 측에서 확인

# zabbix_get -s <target host> -k mongodb.ok
1

1에서 정상 가동하고 있는 확인 OK.

※mongodb.status로 mongodb에 접속하고 각 파라미터를 개별적으로 취득하지만 connections만 출력이 개항되지 않고 같은 형식으로 처리할 수 없다.

 

Redis


1. /etc/zabbix/zabbix_agentd.d/userparameter_redis.conf의 작성
PATH나 명령은 서버에 맞추어 적절히 변경한다. 디폴트 포트를 사용하고 있다면-p지정은 불필요합니다.

UserParameter=redis.stat[*],/usr/local/redis/src/redis-cli -p 16061 -a '<password>' info | grep "$1:" | cut -d":" -f2

 - 패키지에서 설치하고 있는 경우는 아래

UserParameter=redis.stat[*],redis-cli -a '<password>' info | grep "$1:" | cut -d":" -f2

2. zabbix agent를 재기동

3. ZABBIX서버 측에서 확인

# zabbix_get -s <target host> -k 'redis.stat[redis_version]'
2.4.10

데이터의 출력이 되어 있으면 OK.

 

728x90
300x250

'IT > Zabbix' 카테고리의 다른 글

Zabbix agent on Windows Server  (0) 2021.08.17
Zabbix 감시 설정  (0) 2021.07.29
Zabbix Agent 설치  (0) 2021.07.29
Zabbix 서버에 대해  (0) 2021.07.29
Zabbix 설치  (0) 2020.07.05

+ Recent posts