Zabbix监控部署

 
一、环境准备
这里我们布署zabbix版本为5.0
 
环境准备
系统版本: CentOS7.6
zabbix-server版本: 5.0
zabbix-server: 192.168.10.11
zabbix-agent: 192.168.10.12
关闭所有机器的防火墙 , selinux
 
二、Zabbix-Server

Zabbix基本配置

 
 
配置zabbix源
 
安装zabbix
# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent
# yum -y install mariadb-server
 
# 以下为5.0版安装方式
打开zabbix-frontend源
# sed -i.bak 's#repo.zabbix.com#mirrors.aliyun.com/zabbix#' zabbix.repo
   
# vim zabbix.repo
   
# yum -y install zabbix-server-mysql zabbix-agent mariadb-server
# yum -y install centos-release-scl # 5.0
# yum -y install zabbix-web-mysql-scl zabbix-apache-conf-scl # 5.0
 
创建数据库
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
MariaDB [(none)]> \q
 
导入zabbix表
# cd /usr/share/doc/zabbix-server-mysql-4.4.0/
# gunzip create.sql.gz
# mysql -u zabbix -pzabbix -D zabbix < create.sql
验证一下是否导入成功
 
 
# 以下为5.0版
# cd /usr/share/doc/zabbix-server-mysql-5.0.3/
# zcat create.sql.gz |mysql -uzabbix -p -D zabbix
# 查看一下
# mysql -uzabbix -p -h localhost
MariaDB [(none)]> use zabbix;
MariaDB [zabbix]> show tables;
MariaDB [zabbix]> \q
 
  
修改主配置文件
# cp /etc/zabbix/zabbix_server.conf{,.bak} # 修改前备份是个好习惯
# vim /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
 
配置时区
# vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai #时区
 
# vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/Shanghai # 打开注释并修改时区
 
启动服务
# systemctl start zabbix-server
# systemctl start httpd
 
# systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
 
查看启动是否成功
[root@host1 ~]# netstat -tlnp |grep "zabbix"
 
安装应用
使用浏览器访问:ip/zabbix
 
安装成功后登录zabbix
 
 
 
用户名: Admin
密码: zabbix
 
登陆进入后的面板界面
看到这个Yes说明zabbix已经成功运行了
 
修改界面语言及用户密码
zabbix对中国人相当友好, 从3.0版以后已经可以很好的支持中文了
如果大家英语好的话看英文版即可,英语不好就改了吧,毕竟中文版比较适合初学者更快的学习~
点击右上角的小人:
三、Zabbix-Agent
agent安装
# yum install -y zabbix-agent
# yum install -y zabbix-agent-4.4.0-1.el7.x86_64.rpm
 
agent配置文件
 
修改agent配置文件
# cp /etc/zabbix/zabbix_agentd.conf{,.bak}
# vim /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.10.11 #被动模式服务器IP, 用于定义允许谁来采集数据
# StartAgents=3 #被动模式情况下, 预生成的子进程数, 默认为3. 如果设置为0, 将关闭被动模式
ServerActive=192.168.10.11 #主动模式服务器IP, 主动向谁上传数据
Hostname=host2.qf.com #配置自己的主机名, 在后续配置监控项时要与此名称一致
Include=/etc/zabbix/zabbix_agentd.d/*.conf
 
 
启动服务
# systemctl start zabbix-agent
# netstat -tlnp |grep zabbix
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 9417/zabbix_agentd
tcp6 0 0 :::10050 :::* LISTEN 9417/zabbix_agentd
 
 
四、检测CS连通性
检测CS的连通性
配置好zabbix-server和zabbix-agent后,我们可以使用zabbix_get来检测CS的连通性
zabbix 内置有很多 方法 去获取agent上的数据, 这些方法的名称我们称之为 键
例如: 键名为 system.uname 对应的方法为 uname -snrvp
 
我们可以在zabbix-server上通过 键 去采集 agent 上相应的系统信息
如果CS通信正常, 采集到的数据应该跟在 agent 上直接执行相应的方法得到的结果是一致的
 
例: 在zabbix-server上执行
# yum -y install zabbix-get
# zabbix_get -s 192.168.10.12 -k system.uname
Linux host2.qf.com 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 #这个输出跟直接在host2上执行 uname -snrvp 是一样的
 
能够正常采集到数据, 说明server和agent通信正常
 
通过zabbix_get 采集客户端数据
zabbix内置的键多为采集较为常见的, 通用的数据
但每个公司的环境不同, 需要采集的数据也千差万别, 如果我想采集的数据在模板里没有, 又该如何采集呢?
可通过 agent 配置文件中的 UserParameter 字段来自定义监控项
格式: UserParameter=键,方法
 
例如: 要监控/data目录下的文件个数
这种需求在任何监控模板中都不可能存在的, 只能通过自定义
1. 修改 agent 配置文件
# vim /etc/zabbix/zabbix_agentd.conf
UserParameter=dir.data.file.no,/usr/bin/ls /data|wc -l
2. 重启 agent 服务
# systemctl restart zabbix-agent
3. 创建 /data 目录, 并在此目录下创建几个文件
# mkdir /data
# touch /data/{a..f}
 
4. 在 server 端验证
# zabbix_get -s 192.168.10.12 -k dir.data.file.no
 
 
zabbix服务器快速安装脚本
 
#!/bin/bash
#Zabbix-Server  5.0
 
#安装zabbix源、aliyun YUM源
cd /etc/yum.repos.d/
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
sed -i.bak 's#repo.zabbix.com#mirrors.aliyun.com/zabbix#' zabbix.repo
sed -i 's#enabled=0#enabled=1#' zabbix.repo
 
#安装zabbix
yum -y install zabbix-server-mysql zabbix-agent
yum -y install centos-release-scl
yum -y install zabbix-web-mysql-scl zabbix-apache-conf-scl
 
#安装启动 mariadb数据库
yum -y install mariadb mariadb-server httpd
systemctl start mariadb.service
 
#创建数据库
mysql -e 'create database zabbix character set utf8 collate utf8_bin;'
mysql -e 'grant all privileges on zabbix.* to zabbix@localhost identified by "zabbix";'
mysql -e 'flush privileges;'
 
#导入数据
zcat /usr/share/doc/zabbix-server-mysql-5.0.3/create.sql.gz|mysql -uzabbix -pzabbix -Dzabbix
 
配置zabbixserver连接mysql
sed -i.bak '/^# DBPassword=*/i DBPassword=zabbix' /etc/zabbix/zabbix_server.conf
 
#添加时区
sed -i.bak '/^; php_value[date.timezone]*/i php_value[date.timezone] = Asia/Shanghai' /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
 
#解决中文乱码
yum -y install wqy-microhei-fonts
\cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf
 
#启动服务
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
 
#开机自启动
systemctl enable mariadb.service
systemctl enable httpd
systemctl enable zabbix-server
 
#输出信息
echo "浏览器访问 http://`hostname -I|awk '{print $1}'`/zabbix"
 
 
 

zabbix客户端快速部署脚本

#!/bin/bash
#Zabbix-Agent  5.0
 
Zabbix_Service=192.168.10.13
 
#安装zabbix源、aliyun YUM源
cd /etc/yum.repos.d/
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
sed -i.bak 's#repo.zabbix.com#mirrors.aliyun.com/zabbix#' zabbix.repo
sed -i 's#enabled=0#enabled=1#' zabbix.repo
 
#安装zabbix
yum -y install zabbix-agent
 
#修改配置文件
sed -i.bak "s/^Server=127.0.0.1/Server=$Zabbix_Service/" /etc/zabbix/zabbix_agentd.conf
sed -i "s/^ServerActive=127.0.0.1/ServerActive=$Zabbix_Service/' /etc/zabbix/zabbix_agentd.conf
sed -i "/^Hostname=/c Hostname=$(echo `hostname`)" /etc/zabbix/zabbix_agentd.conf
 
#开启zabbix-agent服务 10050 端口
systemctl start zabbix-agent
 
#设置开机自启
systemctl enable zabbix-agent
 
#输出提示
echo -e "Now you can use \033[32mnetstat -tnlp\033[0m check \033[33mport:10050\033[0m"
 
 
posted @ 2020-10-20 19:54  梦里花落知多少sl  阅读(177)  评论(0)    收藏  举报