文章目錄
mysql
[root@docker36 ~]# docker pull registry.cn-hangzhou.aliyuncs.com/lhrbest/lhrzabbix5:1.01.0: Pulling from lhrbest/lhrzabbix5 c1e1cb5fc6d2: Already exists f36cbc8bf71f: Pull complete Digest: sha256:5e22edb3347a27a731bd48742c982e34dcbcd47b63db2e9b64549ad69488475eStatus: Downloaded newer image for registry.cn-hangzhou.aliyuncs.com/lhrbest/lhrzabbix5:1.0registry.cn-hangzhou.aliyuncs.com/lhrbest/lhrzabbix5:1.0
[root@docker36 ~]# docker run -d --name lhrzabbix5 -h lhrzabbix5 \> -p 225:22 -p 23306:3306 -p 280:80 -p 20051:10051 \> -v /sys/fs/cgroup:/sys/fs/cgroup \> --privileged=true \> lhrbest/lhrzabbix5:1.0 /usr/sbin/init Unable to find image 'lhrbest/lhrzabbix5:1.0' locally1.0: Pulling from lhrbest/lhrzabbix5 Digest: sha256:5e22edb3347a27a731bd48742c982e34dcbcd47b63db2e9b64549ad69488475eStatus: Downloaded newer image for lhrbest/lhrzabbix5:1.07fa309da58043680aa0fa14b0692b35249ad5557d5d4cf0d0897a29afad13256[root@docker36 ~]# docker exec -it lhrzabbix5 bash[root@lhrzabbix5 /]#
訪問Zabbix:http://192.168.66.36:280/zabbixsql
默認用戶名密碼:Admin/zabbixdocker
監控Linux主機能夠經過snmp(Simple Network Management Protocol)簡單網絡管理協議,也能夠經過zabbix-agent監控。本文使用snmp來配置。數據庫
yum install -y net-snmp net-snmp-utils systemctl start snmpd systemctl status snmpd systemctl enable snmpd
配置文件:vi /etc/snmp/snmpd.conf,添加以下內容:vim
view systemview included .1
啓動snmpd:瀏覽器
[root@lhrzabbix5 ~]# systemctl status snmpd● snmpd.service - Simple Network Management Protocol (SNMP) Daemon. Loaded: loaded (/usr/lib/systemd/system/snmpd.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2021-01-13 16:37:24 CST; 39s ago Main PID: 81937 (snmpd) CGroup: /system.slice/snmpd.service └─81937 /usr/sbin/snmpd -LS0-6d -f Jan 13 16:37:24 docker36 systemd[1]: Starting Simple Network Management Protocol (SNMP) Daemon....Jan 13 16:37:24 docker36 snmpd[81937]: NET-SNMP version 5.7.2Jan 13 16:37:24 docker36 systemd[1]: Started Simple Network Management Protocol (SNMP) Daemon..[root@docker36 ~]# netstat -anp | grep 161udp 0 0 0.0.0.0:161 0.0.0.0:* 81937/snmpd
在zabbix server上測試:bash
nc -zvu localhost 161 snmpwalk -v 2c -c public localhost | wc -l
結果:網絡
[root@lhrzabbix5 /]# nc -zvu localhost 161Ncat: Version 7.50 ( https://nmap.org/ncat )Ncat: Connected to 127.0.0.1:161.Ncat: UDP packet sent successfully Ncat: 1 bytes sent, 0 bytes received in 2.02 seconds.[root@lhrzabbix5 /]# snmpwalk -v 2c -c public localhost | wc -l7086
此時須要在server端配置:socket
配置——主機——建立主機——移除interface的客戶端——添加SNMP客戶端ide
——填寫主機名稱、可見名稱、羣組、IP地址,如圖所示:
點擊添加,而後等待1分鐘,等待圖標變成綠色即正常,如圖所示:
監控結果:
被監控端Mysql主機安裝Zabbix-agent
rpm -ivh http://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpmsed -i "s/gpgcheck=1/gpgcheck=0/g" /etc/yum.repos.d/zabbix.repo yum -y install zabbix-agent
被監控端修改zabbix-agent配置文件
vim /etc/zabbix/zabbix_agentd.conf Server=localhost Hostname=mysql-localsystemctl restart zabbix-agent systemctl enable zabbix-agent ss -antulp | grep :10050日誌: /var/log/zabbix/zabbix_agentd.log
被監控端修改MySQL配置文件:
mkdir -p /var/lib/zabbix cat > /var/lib/zabbix/.my.cnf <<"EOF"[mysql]host=localhostuser=root password=lhr port=3306socket=/var/lib/mysql/mysql.sock[mysqladmin]host=localhostuser=root password=lhr port=3306socket=/var/lib/mysql/mysql.sock EOF
編輯監控模板,若沒有該文件,能夠手動新增:
[root@docker35 yum.repos.d]# more /etc/zabbix/zabbix_agentd.d/userparameter_mysql.confUserParameter=mysql.ping[*], mysqladmin -h"$1" -P"$2" ping UserParameter=mysql.get_status_variables[*], mysql -h"$1" -P"$2" -sNX -e "show global status"UserParameter=mysql.version[*], mysqladmin -s -h"$1" -P"$2" version UserParameter=mysql.db.discovery[*], mysql -h"$1" -P"$2" -sN -e "show databases"UserParameter=mysql.dbsize[*], mysql -h"$1" -P"$2" -sN -e "SELECT SUM(DATA_LENGTH + INDEX_LENGTH) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='$3'"UserParameter=mysql.replication.discovery[*], mysql -h"$1" -P"$2" -sNX -e "show slave status"UserParameter=mysql.slave_status[*], mysql -h"$1" -P"$2" -sNX -e "show slave status"
重啓zabbix-agent:
systemctl restart zabbix-agent
注意:這裏的主機名稱須要和配置文件中的Hostname=mysql-local保持一致,不然會報錯。
等待一會便可看到數據:
相比Prometheus來講,感受zabbix監控MySQL或其它數據庫不如Prometheus方便。可是,zabbix和Prometheus都是目前使用率最普遍的2款監控工具。