分布式系统监控--zabbix

简介

zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

环境说明

主机ip说明
zabbix server172.16.0.10监控中控台
mysql172.16.0.100mysql数据库
zabbix agent1172.16.0.101需要监控的主机1
zabbix agent2172.16.0.102需要监控的主机2
zabbix agent3172.16.0.103需要监控的主机3

部署配置

首先部署监控中控台,以下使用docker方式部署,docker不熟练的跳转到docker相关文章
监控的所有数据存储我们选择使用mysql数据库

1、运行zabbix-server后端并暴露端口10051,(被监控端需要通过该端口上报监控数据)

$ docker run --name zabbix-server-mysql -t \
      -e DB_SERVER_HOST="172.16.0.100" \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="root" \
      -e MYSQL_PASSWORD="123456" \
      -e MYSQL_ROOT_PASSWORD="123456" \
      -p 10051:10051 \
      -d docker.io/zabbix/zabbix-server-mysql:latest

2、运行zabbix-server前端web界面并暴露8080端口,(使用8080端口即可访问zabbix中控台了)

$ docker run --name zabbix-web-nginx-mysql -t \
      -e DB_SERVER_HOST="172.16.0.100" \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="root" \
      -e MYSQL_PASSWORD="123456" \
      -e MYSQL_ROOT_PASSWORD="123456" \
      -e PHP_TZ="Asia/Shanghai" \
      --link zabbix-server-mysql:zabbix-server \
      -p 8080:80 \
      -d docker.io/zabbix/zabbix-web-nginx-mysql:latest

两个容器运行成功后,即可访问:http://172.16.0.10:8080 使用默认账号:Admin 密码zabbix 即可访问zabbix中控台

接着在三台需要被监控的主机上安装zabbix agent
在三台主机上均执行以下操作(如果需要批量监控大量主机,可使用ansible运维工具,批量安装zabbix agent)

1、创建zabbix-agent目录

$ mkdir zabbix-agent && cd zabbix-agent

2、下载zabbix-agent包

$ wget https://www.zabbix.com/downloads/4.4.3/zabbix_agents-4.4.3-linux3.0-amd64-static.tar.gz

3、解压

$ tar xzf zabbix_agents-4.4.3-linux3.0-amd64-static.tar.gz

4、修改配置文件

$ vi conf/zabbix_agentd.conf
#中控主机的ip地址
Server=172.16.0.10
ServerActive=172.16.0.10
#被监控主机的名称(可以在中控台中菜单[Configuration --> Hosts --> Create host]中添加)
Hostname=172.16.0.101
#使用root账号启动
AllowRoot=1
User=root
#开启主动模式
StartAgents=0

5、将配置文件移动到默认位置

$ cp conf/zabbix_agentd.conf /usr/local/etc/zabbix_agentd.conf

6、启动zabbix-agent应用

$ sbin/./zabbix_agentd

7、设置开机启动

$ cp sbin/zabbix_agentd /etc/init.d/zabbix_agentd

附录

1、nginx 应用监控配置
确保nginx安装了模块:http_stub_status_module
没有安装的话,重新编译安装:./configure –with-http_stub_status_module
在nginx.conf中添加配置:

location /basic_status {
    stub_status on;
    access_log off;
    allow 172.16.0.10;
    deny all;
}

在中控台中菜单[Configuration –> Hosts]界面对指定host添加nginx监控模版,如下图所示:


稍等片刻nginx的监控数据就可以上报到中控台,在菜单[Monitoring –> Graphs]界面中可以看到渲染出来的图表了
中控台界面如下:

2、设置语言后监控图形中乱码问题解决
上传本地windows简体楷体字体文件到中控台的前端工程目录
本地字体文件:C:\Windows\Fonts\SIMKAI.TTF
中控台的前端工程目录:/usr/share/zabbix/assets/fonts (docker中的目录)
注意上传后将文件名改成全小写:simkai.ttf
修改配置文件,将字体指向新上传的楷体:sed -i ‘s/DejaVuSans/simkai/g’ /usr/share/zabbix/include/defines.inc.php
重启docker容器即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值