Docker-composeは、Zabbix監視サーバーを作成し、Mysqlパラメーターを監視します(Zabbix5.0)

目次

          周囲

          Docker、Dockerをインストールします-構成と構成の高速化

          .yamlファイルを書き込んでzabbix-serverを起動します

          Zabbixへのブラウザアクセス-Webページ

          Zabbixエージェント側を構成します

          Mysqlのパラメータを監視する

          サーバー側に監視項目を追加する

 

 周囲

centos 7.5 zabbix-server:192.168.253.110 zabbix-agent:192.168.253.120

Docker、Dockerをインストールします-構成と構成の高速化

1)Aliのドッカーソースを構成する

[root@zabbix-server ~]# wget -O /etc/yum.repos.d/epel.repo    #自己玩,我就没在意docker是ce还是ee
http://mirrors.aliyun.com/repo/epel-7.repo

2)docker、docker-composeをインストールします

[root@zabbix-server ~]# yum -y install docker docker-compose
[root@zabbix-server ~]# vim /etc/docker/daemon.json   #配置加速
{"registry-mirrors": ["https://26ahzfln.mirror.aliyuncs.com"]}

3)ドッカーを起動します

[root@zabbix-server ~]# systemctl  restart docker
[root@zabbix-server ~]# setenforce 0           ###使用docker不用关闭防火墙

.yamlファイルを書き込んでzabbix-serverを起動します

1).yamlソースコード

[root@zabbix-server src]# vim docker-compose.yml
version: "3"
services:

   mysql-server:
     image:  bingozhou/mysql5.7
     environment:
       MYSQL_ROOT_PASSWORD: 123
       MYSQL_DATABASE: zabbix
       MYSQL_USER: zabbix
       MYSQL_PASSWORD: 123
     ports:
       - "3306:3306"

   zabbix-server:
     image: zabbix/zabbix-server-mysql
     environment:
       DB_SERVER_HOST: mysql-server
       MYSQL_DATABASE: zabbix
       MYSQL_USER: zabbix
       MYSQL_PASSWORD: 123
     ports:
       - "10051:10051"
     depends_on:
       - "mysql-server"

   zabbix-web:
     image: zabbix/zabbix-web-nginx-mysql
     environment:
       DB_SERVER_HOST: mysql-server
       MYSQL_DATABASE: zabbix
       MYSQL_USER: zabbix
       MYSQL_PASSWORD: 123
       PHP_TZ: Asia/Shanghai
       ZBX_SERVER_HOST: zabbix-server
     ports:
       - "80:8080"
     depends_on:
       - "mysql-server"
       - "zabbix-server"

   zabbix-agent:
     image: zabbix/zabbix-agent
     environment:
       ZBX_SERVER_HOST: zabbix-server
     ports:
       - "10050:10050"
     depends_on:
       - "zabbix-server"

2)サービスを開始します

[root@zabbix-server src]# docker-compose up -d 
Creating src_mysql-server_1  ... done
Digest: sha256:292b05bdb41c4b16dc12f882bb3be18547e6680372549dcec61ad711f80bd976
Creating src_zabbix-server_1 ... done
Creating src_mysql-server_1  ... 
Creating src_zabbix-server_1 ... 
Creating src_zabbix-web_1    ... done
Creating src_zabbix-agent_1  ... done
[root@zabbix-server src]# docker-compose ps
       Name                      Command               State               Ports             
---------------------------------------------------------------------------------------------
src_mysql-server_1    docker-entrypoint.sh mysqld      Up      0.0.0.0:3306->3306/tcp        
src_zabbix-agent_1    /sbin/tini -- /usr/bin/doc ...   Up      0.0.0.0:10050->10050/tcp      
src_zabbix-server_1   /sbin/tini -- /usr/bin/doc ...   Up      0.0.0.0:10051->10051/tcp      
src_zabbix-web_1      docker-entrypoint.sh             Up      0.0.0.0:80->8080/tcp, 8443/tcp

Zabbixへのブラウザアクセス-Webページ

1)ブラウザアクセス

2)中国のzabbixインターフェース

Zabbixエージェント側を構成します

1)zabbix.yumソースを構成します

[root@zabbix-agent ~]# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
[root@zabbix-agent ~]# yum -y install zabbix-agent
[root@zabbix-agent ~]# systemctl  start zabbix-agent

2)構成ファイルを変更します

[root@zabbix-agent ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.253.110
ServerActive=192.168.253.110

3)zabbix-agentを再起動します

[root@zabbix-agent ~]# systemctl  restart zabbix-agent

Mysqlのパラメータを監視する

1)zabbix-agent側にmysqlをインストールします

[root@zabbix-agent ~]# yum -y install mariadb mariadb-server
[root@zabbix-agent ~]# systemctl  start mariadb

2)mysql.shファイルを/ etc / zabbix(エージェント側)に書き込みます

[root@zabbix-agent ~]# cd /etc/zabbix/   
[root@zabbix-agent zabbix]# vim mysql.sh    #脚本中是mysql的一些参数
#!/bin/bash

# 用户名
MYSQL_USER='root'

# 密码
MYSQL_PWD='123456'

# 主机地址/IP
MYSQL_HOST='localhost'

# 端口
MYSQL_PORT='3306'

# 数据连接
MYSQL_CONN="/usr/bin/mysqladmin -u${MYSQL_USER} -p${MYSQL_PWD} -h${MYSQL_HOST} -P${MYSQL_PORT}"

# 参数是否正确
if [ $# -ne "1" ];then
    echo "arg error!" 
fi

# 获取数据
case $1 in
    Uptime)
        result=`${MYSQL_CONN} status|cut -f2 -d":"|cut -f1 -d"T"`
        echo $result 
        ;;
    Com_update)
        result=`${MYSQL_CONN} extended-status |grep -w "Com_update"|cut -d"|" -f3`
        echo $result 
        ;;
    Slow_queries)
        result=`${MYSQL_CONN} status |cut -f5 -d":"|cut -f1 -d"O"`
        echo $result 
        ;;
    Com_select)
        result=`${MYSQL_CONN} extended-status |grep -w "Com_select"|cut -d"|" -f3`
        echo $result 
                ;;
    Com_rollback)
        result=`${MYSQL_CONN} extended-status |grep -w "Com_rollback"|cut -d"|" -f3`
                echo $result 
                ;;
    Questions)
        result=`${MYSQL_CONN} status|cut -f4 -d":"|cut -f1 -d"S"`
                echo $result 
                ;;
    Com_insert)
        result=`${MYSQL_CONN} extended-status |grep -w "Com_insert"|cut -d"|" -f3`
                echo $result 
                ;;
    Com_delete)
        result=`${MYSQL_CONN} extended-status |grep -w "Com_delete"|cut -d"|" -f3`
                echo $result 
                ;;
    Com_commit)
        result=`${MYSQL_CONN} extended-status |grep -w "Com_commit"|cut -d"|" -f3`
                echo $result 
                ;;
    Bytes_sent)
        result=`${MYSQL_CONN} extended-status |grep -w "Bytes_sent" |cut -d"|" -f3`
                echo $result 
            ;;
    Bytes_sent)
        result=`${MYSQL_CONN} extended-status |grep -w "Bytes_sent" |cut -d"|" -f3`
                echo $result 
                ;;
    Bytes_received)
        result=`${MYSQL_CONN} extended-status |grep -w "Bytes_received" |cut -d"|" -f3`
                echo $result 
                ;;
    Com_begin)
        result=`${MYSQL_CONN} extended-status |grep -w "Com_begin"|cut -d"|" -f3`
                echo $result 
                ;;

        *)
        echo "Usage:$0(Uptime|Com_update|Slow_queries|Com_select|Com_rollback|Questions|Com_insert|Com_delete|Com_commit|Bytes_sent|Bytes_received|Com_begin)" 
        ;;
esac

3)mysqlパスワードを変更してテストします

[root@zabbix-agent zabbix]# mysqladmin -uroot password 123456
[root@zabbix-agent zabbix]# chmod 777 mysql.sh 
[root@zabbix-agent zabbix]# ./mysql.sh Uptime   启动了多久
1094

4)zabbix-agentキー値を追加します

[root@zabbix-agent zabbix]# vim /etc/zabbix/zabbix_agentd.conf 
Hostname=192.168.253.120    本机ip地址
UserParameter=mysql.status[*],/etc/zabbix/mysql.sh $1

サーバー側に監視項目を追加する

1)ホストを作成し、追加します

2)監視項目を作成する

 3)グラフィックを作成する

4)モニタリングチャートを表示する

おすすめ

転載: blog.csdn.net/yeyslspi59/article/details/108776367
おすすめ