zabbix学习总结

整体架构图:(图片是来自网上资料)

介绍这个架构
zabbix agent是装到被监控的机器上 zabbix agent 可以主动向zabbix server汇报数据;也可以是zabbix server主动来拉取 zabbix可以监控数据库,操作系统,磁盘,cpu,应用,监控的数据全部都拿到存到数据库里去 拿到数据之后是要给用户展示的,是有个web界面的,可以和用户进行交互 这个网站使用php写的,web服务可以用nginx也可以用apache 此处我选择的是nginx,然后php的作用是到数据库拿数据,最终展示在页面上

#zabbix-server正常启动对外端口是10051
#zabbix-agent端口是10050
#mysql的端口是3306
一、为什么需要zabbix这种监控软件
保障业务时时刻刻正常运转,一旦出现问题,需要马上知道,
二、安装zabbix
①去zabbix官网(www.zabbix.com)
点击download选择你要下载的版本类型,下面都有命令教你怎么安装(我这里选择的是5.0的zabbix,centos7,使用mysql数据库,使用nginx做web服务)
②到安装数据库
Ⅰ、yum install maraidb  mariadb-server -y  --安装mariadb
Ⅱ、service maiadb start  --启动mariadb
Ⅲ、systemctl enabled mariadb  --设置开机自启
Ⅳ、mysql -uroot -p  --登录数据库
Ⅴ、之后按官网新建zabbix库,创建zabbix用户,给用户授权,导入表到zabbix库
# mysql -uroot -p
password
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user zabbix@localhost identified by 'password';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> quit;
Ⅵ、关闭防火墙和selinux
service firewalld stop
systemctl disabled firewalld
setenforce 0
vim /etc/selinux/config
将SELINUX=disabled
Ⅶ、后面的配置也按官网来
​

 解决zabbix-server访问不了数据库的问题(编译安装的mysql)

解决方法1:

1,查看mysql的socket文件在哪

①/etc/my.cnf ②看进程也有

2,修改zabbix-server.conf里的配置 vim /etc/zabbix/zabbix_server.conf 将DBSocket改成数据库的socket路径

3,修改/data/mysql目录的权限(编译安装指定的路径),允许zabbix用户启动zabbix-server yum安装的mysql就是zabbix想要的那个 zabbix去拿数据的地方就是yum安装的mysql放数据的地方

解决方案2:

①修改/etc/my.conf [mysql] 将socet改为zabbix默认的拿数据的地方

②刷新数据

agent端只需要安装agent并将服务启动就行
 rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm  --安装源
 yum clean all
 yum install zabbix-agent -y
 systemctl restart zabbix-agent 
 systemctl enable  zabbix-agent
#修改agent端/etc/zabbix的agent的配置文件(vim /etc/zabbix/zabbix_agentd.conf)
将配置文件中的active和passive的ip都修改为允许过来拿数据的服务器的ip,这样就允许server端可以过来拿数据,agent也可以主动推送数据
改完配置记得一定要刷新服务:service zabbix-agent restart 
#之后在server端安装zabbix-get:yum install zabbix-get -y,可以测试连通性
zabbix_get -s 192.168.173.133 -p 10050 -k "system.cpu.load[all,avg1]"
-s,source表示从哪台主机拿数据,
-p端口 agent端口是10050,server端口是10051
-k是key,是监控的哪一项指标,zabbix里就是通过很多的key来获取不同的指标数据

 添加被监控主机

在浏览器输入server端ip之后
一直下一步下一步
默认登录账号和密码
账号Admin
密码zabbix
在web页面点配置里面的主机,然后右上角创建主机
模板的作用:里面集合了很多的应用集,专门针对web的模板,mysql的模板
应用集:各种各样的应用的集合,zabbix对应用进行分类:web,database,memory,interface等
监控项:被监控的某个项目:cpu使用率

模板里面很多应用集,应用集里很多监控项,使用模板的好处是快速添加监控项

自定义监控项:
1,在agent端写个脚本
脚本写在agent的/etcetc/zabbix/zbbix_agentd.d下,
之后编辑置文件.conf结尾(编辑key)--也是在zabbix_agentd.d目录下
conf文件里的内容格式:
UserParameter=sc.ssh.status,/etc/zabbix/zabbix_agentd.d/monitor_sshd.sh

2,之后server端可以通过key来测试获取数据)
监控的数据传到server,server端存入数据库
3,之后在web界面添加监控项
4,php从数据库拿数据并显示在网页上
5,将自定义的监控项图形化
先创建应用集
然后创建监控项
监控项的键值就是自己设计的key值
之后创建图形
####设计可以传参的监控项(看图)
例子:获取192.168.173.132/status下的active,reading数据
使用curl 浏览status页面,然后对数据进行处理看图
还要给文件可执行权限
在agent端的/etc/zabbix/zabbix_agent.d目录下新建脚本文件
之后创建在/etc/zabbix/zabbix_agent.d目录下创建key
图表界面
先创建应用集
创建监控项,键值的[]里面的内容不同就是不同的key

 ###添加触发器

配置里面添加triggers 如果是常见的那些,expression值可以参考别的定义好的

如果是自己定义的找不到对应的expression就点add,last填正常值 还要给他划分一下级别serverity

#告警,告警是跟触发器绑定的
微信-企业微信
参考博客
https://blog.csdn.net/whell_scl/article/details/106722721?spm=1001.2014.3001.5502
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值