1.zabbix容器化+grafana的安装和配置
环境准备
使用官方安装脚本自动安装
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun启动daemon服务(否则无法pull镜像)
systemctl daemon-reload
systemctl restart docker.service
安装zabbix服务器
分配subnet网络
docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 zabbix-net安装mysql服务
推送mysql容器镜像
docker pull mysql:8.0docker run --name mysql-server -t \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix" \
-e MYSQL_ROOT_PASSWORD="zabbix" \
--network=zabbix-net \
-d mysql:8.0\
--character-set-server=utf8 --collation-server=utf8_bin \
--default-authentication-plugin=mysql_native_passworddocker pull zabbix/zabbix-java-gateway:alpine-5.0-latestdocker run --name zabbix-java-gateway -t \
--network=zabbix-net \
--restart unless-stopped \
-d zabbix/zabbix-java-gateway:alpine-5.0-latestdocker pull zabbix/zabbix-server-mysql:alpine-5.0-latestdocker run --name zabbix-server-mysql -t \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix" \
-e MYSQL_ROOT_PASSWORD="zabbix" \
-e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
--network=zabbix-net \
-p 10051:10051 \
--restart unless-stopped \
-d zabbix/zabbix-server-mysql:alpine-5.0-latestdocker pull zabbix/zabbix-web-nginx-mysql:alpine-5.0-latestdocker run --name zabbix-web-nginx-mysql -t \
-e ZBX_SERVER_HOST="zabbix-server-mysql" \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix" \
-e MYSQL_ROOT_PASSWORD="zabbix" \
-e PHP_TZ="Asia/Shanghai" \
--network=zabbix-net \
-p 80:8080 \
--restart unless-stopped \
-d zabbix/zabbix-web-nginx-mysql:alpine-5.0-latestdocker容器安装agent
docker pull zabbix/zabbix-agent:latestdocker run --name zabbix-agent-mysql -t \
-e ZBX_SERVER_HOST="zabbix-server-mysql" \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix" \
-e MYSQL_ROOT_PASSWORD="zabbix" \
--network=zabbix-net \
--restart unless-stopped \
-d zabbix/zabbix-agent:latest宿主机安装agent
服务器添加agent服务
添加zabbix源
rpm --import http://repo.zabbix.com/RPM-GPG-KEY-ZABBIX
rpm -ihv http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm查找zabbix-agent安装包
[root@localhost ~]# yum list |grep zabbix
http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/repodata/87818fcd36f485539b03954419261114f2aabed465e8405db3830d40bea080b4-primary.sqlite.bz2: [Errno 14] curl#18 - "transfer closed with 50216 bytes remaining to read"
Trying other mirror.
zabbix-release.noarch 3.0-1.el7 installed
fping.x86_64 3.10-1.el7 zabbix-non-supported
iksemel.x86_64 1.4-2.el7.centos zabbix-non-supported
iksemel-devel.x86_64 1.4-2.el7.centos zabbix-non-supported
iksemel-utils.x86_64 1.4-2.el7.centos zabbix-non-supported
pcp-export-pcp2zabbix.x86_64 4.3.2-7.el7_8 updates
pcp-export-zabbix-agent.x86_64 4.3.2-7.el7_8 updates
zabbix-agent.x86_64 3.0.31-1.el7 zabbix
zabbix-get.x86_64 3.0.31-1.el7 zabbix
zabbix-java-gateway.x86_64 3.0.31-1.el7 zabbix
zabbix-proxy-mysql.x86_64 3.0.31-1.el7 zabbix
zabbix-proxy-pgsql.x86_64 3.0.31-1.el7 zabbix
zabbix-proxy-sqlite3.x86_64 3.0.31-1.el7 zabbix
zabbix-sender.x86_64 3.0.31-1.el7 zabbix
zabbix-server-mysql.x86_64 3.0.31-1.el7 zabbix
zabbix-server-pgsql.x86_64 3.0.31-1.el7 zabbix
zabbix-web.noarch 3.0.31-1.el7 zabbix
zabbix-web-japanese.noarch 3.0.31-1.el7 zabbix
zabbix-web-mysql.noarch 3.0.31-1.el7 zabbix
zabbix-web-pgsql.noarch 3.0.31-1.el7 zabbix安装zabbix-agent
yum -y install zabbix-agent.x86_64
修改配置文件
docker inspect [OPTIONS] NAME|ID [NAME|ID...] 查看nginx容器的IP地址
vi /etc/zabbix/zabbix_agentd.conf 修改server地址为容器的IP地址
这里有个坑就是容器访问到服务器外面的时候使用的并非容器自身地址,agent会报错添加报错的IP即可,报错如下
{:.error}
27623:20200902:075514.013 active check configuration update from [172.20.240.4:10051] started to fail (cannot connect to [[172.20.240.4]:10051]: [111] Connection refused)
27622:20200902:075846.076 failed to accept an incoming connection: connection from "172.20.240.3" rejected, allowed hosts: "172.20.240.4"systemctl enable zabbix-agent.service 开机自启动
systemctl start zabbix-agent.service 启动服务
放通10050端口
firewall-cmd --zone=public --add-port=10050/tcp --permanentsystemctl restart firewalld.service或者 (业务中断时间短,服务不会重启)
firewall-cmd --reload添加center本机的对外IP地址为监控zabbix服务器
修改容器的时区
docker 06ef6e824023 update PHP_TZ="Asia/Shanghai"中文图形小方框修正
上传宋体字体到容器内
docker cp simsun.ttf a67221334256:/usr/share/zabbix/assets/fonts/simsun.ttf ##拷贝字体
docker exec -it a67221334256 /bin/bash ##进入容器
vi /usr/share/zabbix/include/defines.inc.php ##修改配置文件define('ZBX_GRAPH_FONT_NAME', 'simsun'); // font file name
define('ZBX_GRAPH_LEGEND_HEIGHT', 120); // when graph height is less then this value, some legend will not show up这里有个坑是win10复制过来的宋体ttc文件上面去完全不显示文字,试了几个其他的ttf中文字体也是,建议去网上下载宋体ttf格式的文件,测试正常。
{:.error}
安装zabbix服务器(bridge方式——失败)
docker run --name mysql-server -t \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix" \
-e MYSQL_ROOT_PASSWORD="zabbix" \
--network=bridge \
-d mysql:8.0\
--character-set-server=utf8 --collation-server=utf8_bin \
--default-authentication-plugin=mysql_native_passworddocker run --name zabbix-java-gateway -t \
--network=bridge \
--restart unless-stopped \
-d zabbix/zabbix-java-gateway:alpine-5.0-latestdocker run --name zabbix-server-mysql -t \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix" \
-e MYSQL_ROOT_PASSWORD="zabbix" \
-e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
--network=bridge \
-p 10051:10051 \
--restart unless-stopped \
-d zabbix/zabbix-server-mysql:alpine-5.0-latestdocker run --name zabbix-web-nginx-mysql -t \
-e ZBX_SERVER_HOST="zabbix-server-mysql" \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix" \
-e MYSQL_ROOT_PASSWORD="zabbix" \
--network=bridge \
-p 80:8080 \
--restart unless-stopped \
-d zabbix/zabbix-web-nginx-mysql:alpine-5.0-latestdocker run --name zabbix-agent-mysql -t \
-e ZBX_SERVER_HOST="zabbix-server-mysql" \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix" \
-e MYSQL_ROOT_PASSWORD="zabbix" \
--network=bridge \
--restart unless-stopped \
-d zabbix/zabbix-agent:latest容器问题
vmware collector 无法启动
2.zabbix网络设备监控
华为交换机
交换机上面配置命令
snmp-agent
snmp-agent community read zabbix@123
snmp-agent sys-info version all
snmp-agent target-host trap address udp-domain X.X.X.X udp-port 161 params securityname zabbix@123 v2c
snmp-agent trap enable3.zabbix虚拟化监控
zabbix添加VCenter和Esxi监控虚拟机运行状态和性能
StartVMwareCollectors - the number of pre-forked vmware collector instances.
This value depends on the number of VMware services you are going to monitor. For the most cases this should be:
servicenum < StartVMwareCollectors < (servicenum * 2)
where servicenum is the number of VMware services. E. g. if you have 1 VMware service to monitor set StartVMwareCollectors to 2, if you have 3 VMware services, set it to 5. Note that in most cases this value should not be less than 2 and should not be 2 times greater than the number of VMware services that you monitor. Also keep in mind that this value also depends on your VMware environment size and VMwareFrequency and VMwarePerfFrequency configuration parameters (see below).
VMwareCacheSize
VMwareFrequency
VMwarePerfFrequency
VMwareTimeout具体需要配置如下4个参数
- StartVMwareCollectors
- VMwareCacheSize
- VMwareFrequency
- VMwarePerfFrequency
- VMwareTimeout
1 条评论
不错不错,我喜欢看