Zabbix安装和自定义监控项
介绍了Zabbix监控系统的安装和配置,包括设置数据库、安装Zabbix Server和Agent、配置Nginx代理Zabbix前端。文章还讲述了如何在安装过程中处理常见错误,并提供了自定义监控项的方法,例如监控Docker容器状态。
介绍了Zabbix监控系统的安装和配置,包括设置数据库、安装Zabbix Server和Agent、配置Nginx代理Zabbix前端。文章还讲述了如何在安装过程中处理常见错误,并提供了自定义监控项的方法,例如监控Docker容器状态。
安装Zabbix服务端
Zabbix服务端分为两个部分:提供前端交互的Web服务端和存储数据的MySQL数据库
设置Zabbix数据库
这里直接使用docker的MySQL镜像,使用下面的docker-compose:
启动:
此时Zabbix数据库已经建好了,但还只是个空壳,具体的库表还需要再安装好Zabbix后导入。
安装Zabbix-server
配置yum源
这里用的是清华源:
修改repo文件,改为清华源
安装Zabbix和其他组件
导入Zabbix数据库库表,创建Zabbix用户
创建zabbix用户并授权
修改zabbix-server配置文件
配置文件:
/etc/zabbix/zabbix_server.conf
。主要是修改数据库部分
最后启动服务
配置Nginx代理Zabbix前端
因为zabbix的前端是用php写的,所以这时候就用到了php-fpm用来处理动态请求。
重启Nginx后访问IP:port/zabbix/setup.php即可进入zabbix安装界面。
安装配置zabbix前端
安装zabbix前端主要就是检查php的一些变量和配置和数据库的链接。
所有显示没有达到要求的选项都可以在
php.ini
文件中进行修改。安装过程中可能出现的错误
500报错
500报错是前后端没有建立有效的链接,或者后端无法提供服务。
首先要查看zabbix-server,php-fpm是否正常启动了;如果这两个没问题可以查看php-fpm的日志
/var/log/php-fpm/error.log
。如果报错是:
Failed opening required '/etc/zabbix/web/maintenance.inc.php'
那么找到对应的文件,将他的属主属组修改问nginx的运行用户就可以了如果nginx父进程是是root运行的,则不会出现这个问题。
安装前端时网页大量报错
这个保存的原因是缺少php的会话目录,使用一条命令修复:
无法显示中文
在选项中修改界面语言为中文后,中文全是方块,这是因为缺少zabbix所需的字体。
自定义监控项
监控docker容器状态
首先创建一个shell脚本,这个脚本主要是利用
docker ps | grep
来查看指定的容器是否正在运行,如果正在运行则返回1,否则返回0编写zabbix-agent监控项配置文件
将docker用户组设置为zabbix用户的附加组
修改docker的socket文件权限
修改完权限后,zabbix用户才能有权限访问到docker的容器列表。
使用zabbix_get命令确认监控项是否生效
如果得到了预期的结果(1或0),则说明该监控项可以正常使用。
在zabbix前端配置监控项
新建一个docker模板
![zabbix-template]
给模板创建监控项
然后点击右上角:创建监控项
键值填写我们在zabbix-agentd.d目录下创建的配置文件,方括号中可以填docker的名字或者docker id。
查看最新数据
三个容器都在运行中。
创建触发器
触发器是当监控项满足一定条件时就会自动触发的动作,一般是用来提供告警信息,比如当某个容器的状态为0时,就提示警报。
Read Next
使用Terraform在Ubuntu中部署KVM虚拟机
使用Terraform部署KVM虚拟机的详细流程
MySQL/Redis相关面试题
数据库运维(MySQL和Redis)的面试题总结
事件源模式和传统数据库方法在数据管理上的优劣分析
对事件源模式和传统数据库方法在应用程序性能影响、性能、扩展性和可靠性的分析;以及云原生环境下数据管理的最佳实践
关于Metrics_server在自托管环境下无法使用的问题
修复kubernetes的metrics server在自托管环境下因缺少CA证书而无法运行的问题。