环境:必要的依赖,yum源,关闭防火墙,selinux等等
1.安装zabbix
1.配置yum源
# vim /etc/yum.repos.d/zabbix.repo
[zabbix]
name=zabbix
baseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/3.4/rhel/7/x86_64/
enabled=1
gpgcheck=0
[zabbix_deps]
name=zabbix_deps
baseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/non-supported/rhel/7/x86_64/
enabled=1
gpgcheck=0
2.zabbix服务器端安装软件
# yum makecache
# yum install zabbix-server-mysql zabbix-web-mysql mariadb-server zabbix-get
# systemctl restart mariadb.service
# systemctl enable mariadb.service
# mysql
MariaDB > create database zabbix default charset utf8; 一定要用utf8字符集,才能适应中文
MariaDB > grant all on zabbix.* to zabbix@'localhost' identified by '123';
MariaDB > flush privileges;
MariaDB > quit
# zcat /usr/share/doc/zabbix-server-mysql-版本号/create.sql.gz |mysql -u zabbix -p123 zabbix
2.配置zabbix
# vim /etc/zabbix/zabbix_server.conf
改两处
DBPassword=123 --这里要对应上面第2步的授权进行修改
DBSocket=/var/lib/mysql/mysql.sock --这里默认的socket路径不对,改成我这个路径
# systemctl restart zabbix-server
# systemctl enable zabbix-server
# ss -nltp
端口10051开启,成功
# vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai
# systemctl restart httpd
# systemctl enable httpd
端口80开启
访问页面 http://zabbix的IP/zabbix页面,出现安装提示视为成功。
中文zabbix需要一个字体文件
# cd /software
# wget http://ftp.sjtu.edu.cn/ubuntu/pool/main/f/fonts-arphic-ukai/fonts-arphic-ukai_0.2.20080216.2.orig.tar.bz2
# tar -xf /software/fonts-arphic-ukai_0.2.20080216.2.orig.tar.bz2
# mv /software/fonts-arphic-ukai-0.2.20080216.2/* /usr/share/zabbix/fonts/
# mv /usr/share/zabbix/fonts/ukai.ttc /usr/share/zabbix/fonts/ukai.ttf
# vim /usr/share/zabbix/include/defines.inc.php
define('ZBX_GRAPH_FONT_NAME', 'ukai');
3.zabbix初始化
# 访问页面 http://zabbix的IP/zabbix
按照图示过程安装
1,welcome
2,Check of pre-requisites
3,Configure DB connection
数据库用户名填zabbix,密码填123(前面授权过的)
4,Zabbix server details
在name选项填上你zabbix服务器的IP或者主机名
5,Pre-Installation summary
6,install
完成后
登陆用户名为:admin
登陆密码为:zabbix
登录后,右上角‘小人头’,可以修改语言,改成中文。
4.配置监控机
1.客户机部分
yum源和上面一样,先安装zabbix客户端
# yum -y install zabbix-agent
# vim /etc/zabbix/zabbix_agentd.conf
Server=zabbix服务器的IP
# systemctl restart zabbix-agent
# systemctl enable zabbix-agent
2.监控机部分
在web管理器里
点击 配置->主机->创建主机
填个名,选个组
重点:agent代理程序的接口,填写上面客户机的IP
回到管理页面,配置->主机列表,一会ZBX就绿了。
2.监控项
1.在zabbix服务的web页面里
点击 配置->主机->监控项->创建监控项
填个名,选个数据类型
重点:键值可以选,可以自己配。
如何配:
2.在客户端机器上
# vim /etc/zabbix/zabbix_agentd.conf
UserParameter=键,shell命令
例如:
UserParameter=line, echo 1
或
UserParameter=line, bash /xxx/*.sh
此处键值是line,上面新增监控项的时候就可以写这个了
# systemctl restart zabbix-agent
可以先测试一下
回到server端
# zabbix_get -s 客户机IP -k 键值
# zabbix_get -s 10.1.1.54 -k line
3.图形
在zabbix服务的web页面里
点击 配置->主机->图形->创建图形
填个名
监控项下面有个添加,OMG,点它~
弹出页面勾选一个监控项。确定。
可以预览,确定了就保存
4.触发器
在zabbix服务的web页面里
点击 配置->主机->触发器->创建触发器
填个名,选个级别,表达式添加一个。
表达式里选个监控项。
功能选择需要自己翻译一下,通常使用last就行,比如last的值与结果进行计算。
结果为真时,会报警。
在 检测中->仪表盘 里能看到
5.web监测/web场景
在zabbix服务的web页面里
点击 配置->主机->Web监测->创建Web场景
填个名,点击步骤
添加,填个名,填要监控的URL
状态码或者字串
状态码就写200、404这种
字串是网页显示的内容字符串。
如果返回的内容是你填的,则不报警,不是就报警。
点击 配置->主机->Web监测里能看到,有报警信息,则列表最后一栏‘信息’是红色叹号。
6.自动发现
1.发现
在zabbix服务的web页面里
点击 配置->自动发现
创建发现规则或者修改已经存在的。
填个名
ip范围好好填
间隔改十几s。
然后启用。
在 检测中->自动发现
会有发现的结果列表。
2.动作
点击 配置->动作->右上角事件源
选择 自动发现
可以创建一个自动发现后做的动作。
比如加入组,加入模板之类的。
7.模板
在zabbix服务的web页面里
点击 配置->模板
创建一个模板,然后给模板加入所需要的 监控项,触发器,图形等等。
再给主机使用这个模板。
达成批量设置的功能。
模板可以导入,导出。达成共用模板的效果。
8.报警
可以使用睿象云
https://user.aiops.com/pages/v2/login
注册一个账号。
登录
选择cloud alert模块
点击导航栏 集成 按钮
增加一个zabbix
填写应用名称
保存并获取key
这个key在下面install.sh执行时使用
按照它的指示操作。
配置步骤
一、安装 Agent
1、切换到zabbix脚本目录 (如何查看zabbix脚本目录):
cd /usr/local/zabbix-server/share/zabbix/alertscripts
2、获取Cloud Alert Agent包:
wget https://download.aiops.com/ca_agent/zabbix/ca_zabbix_release-2.1.0.tar.gz
3、解压、安装。
tar -xzf ca_zabbix_release-2.1.0.tar.gz
cd cloudalert/bin
bash install.sh key值
注:1、在安装过程中根据安装提示,输入zabbix管理地址、管理员用户名、密码。
2、zabbix管理地址正确示例:http://zabbix.server.com/zabbix
4、当提示"安装成功"时表示安装成功!
验证告警集成
产生新的zabbix告警(problem),动作状态为“已送达”表示集成成功。
安装成功后,导航栏里点击
配置,通知策略。
添加你需要的策略,比如什么级别报警,什么方式报警。至于绑定账号,自行解决。
9.zabbix代理
就是一个代理汇总多台机器的监控,上报给server,应用于server在生产机的外域网络,代理机类似跳板机的感觉。
1.代理机器操作
hostnamectl set-hostname --static zabbixproxy.cluster.com
代理机器要设置主机名,我尝试过不设置,发现不行。不知道为嘛
大家都要绑定hosts,公网就不需要了。
# vim /etc/hosts
反正搭建能解析到这个虚拟域名就行。
配yum源,和前文一样
# yum install mariadb-server zabbix-proxy-mysql zabbix-agent
# systemctl restart mariadb
# systemctl enable mariadb
# mysql
MariaDB > create database zabbix_proxy default charset utf8;
MariaDB > grant all privileges on zabbix_proxy.* to 'zabbix'@'localhost' identified by '123';
MariaDB > flush privileges;
# zcat /usr/share/doc/zabbix-proxy-mysql-版本号/schema.sql.gz |mysql zabbix_proxy -u zabbix -p123
# vim /etc/zabbix/zabbix_proxy.conf
13 ProxyMode=0 主动模式
24 Server=10.1.1.11 zabbix_server的ip
43 Hostname=zabbixproxy.cluster.com 这个名字和你的主机名还有后面在web界面配置代理的名字保持一致
156 DBHost=localhost
167 DBName=zabbix_proxy
182 DBUser=zabbix
190 DBPassword=123 打开注释,并写上密码(与前面授权一致)
244 ConfigFrequency=60 主动模式下zabbix_proxy多久从zabbix_server接收一次配置数据
253 DataSenderFrequency=5 主动模式下zabbix_proxy多久发送一次收集的数据给zabbixserver
# systemctl restart zabbix-proxy
# systemctl enable zabbix-proxy
# vim /etc/zabbix/zabbix_agentd.conf
97 Server=代理机IP
138 ServerActive=代理机IP
149 Hostname=代理机的那个必须设置的主机名
然后web里添加
点击 管理->agent代理程序
创建代理
名字填上面那个必须设置的主机名,主动模式。
然后新增一个主机。
填个名,填上被代理的IP,填个组。下面选择 由agent代理程序监测
选择你刚刚创建的agent代理程序名。
即可。
ZBX绿了视为成功。