CentOS7 zabbix安装并实现其它服务器服务监控报警与自动恢复
时间:2022-07-22
本文章向大家介绍CentOS7 zabbix安装并实现其它服务器服务监控报警与自动恢复,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
#zabbix部署参考 https://www.cnblogs.com/itbox/p/12142066.html
#关闭防火墙
systemctl disable firewalld.service
#关闭Selinux
vim /etc/selinux/config
SELINUX=diabled
#安装apache
yum -y install httpd
#启动并设置为自启动
systemctl enable httpd
systemctl start httpd
#安装好mysql或使用其他地址mysql
#安装PHP环境
yum install -y php php-mysql
#安装zabbix
#1.下载安装release包,此包用来更新yum仓库
rpm -ivh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm
#2.安装Zabbix组件包(注意选择组件,zabbixServer这台机器我不安装agent,另一台机器则只安装agent)
yum install -y zabbix-server-mysql zabbix-get zabbix-web zabbix-web-mysql zabbix-agent zabbix-sender
#配置数据库
#1.创建数据库并设置编码为utf8
mysql> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| zabbix |
+--------------------+
5 rows in set (0.00 sec)
#2.创建zabbix账户并设置密码
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'AbcdefG123!';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> grant all privileges on zabbix.* to xiao@% identified by 'AbcdefG123!';
#3.刷新权限
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
#4.导入数据库初始化脚本
cd /usr/share/doc/zabbix-server-mysql-4.4.4/
gunzip create.sql.gz
mysql -uroot -p zabbix <create.sql
#5.确认表已经导入
#配置zabbix server数据库信息
vim /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=Zabbix
DBPassword=xxxxxx
#启动zabbix server并设置为自启动
systemctl start zabbix-server
systemctl enable zabbix-server
#修改市区为上海 Asia/Shanghai
vi /etc/httpd/conf.d/zabbix.conf
#重启httpd
systemctl restart httpd
#登陆并配置数据库账号密码和/etc/zabbix/zabbix_server.conf中的一致
http://IP/zabbix
默认登陆账户Admin(首字母大写)
默认登录密码zabbix
#安装agent
yum install -y zabbix-agent
#1.配置zabbix server所在地址
cd /etc/zabbix/
vi zabbix_agentd.conf
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=Zabbix server #这个需要和配置-主机列表中的名称对应
systemctl start zabbix-agent
systemctl enable zabbix-agent
#自动监测异常,通知并恢复
先建立模板-应用集-监控项-触发器,最后才是动作
首先要确保agent端开启远程执行命令
sed -i 's|# EnableRemoteCommands=0|EnableRemoteCommands=1|g' /usr/local/zabbix/etc/zabbix_agentd.conf
动作中配置远程命令时候最前面加上sudo,并在agent上配置zabbix的权限:
# visudo
#允许zabbix用户在无密码清空下执行所有操作或者部门操作zabbix ALL=(ALL) NOPASSWD:/etc/init.d/nginx restart
zabbix ALL=(ALL) NOPASSWD:ALL
#Default requiretty #如果此行没注释,请一并注释
#自定义脚本监控 https://www.cnblogs.com/yanjieli/p/10833311.html
# vim /etc/zabbix/script/service_status.sh
#!/bin/bash
#Desc:zabbix 远程执行命令、重启应用 nginx、mysql、php、等
case $1 in
Docker)
result=`systemctl status docker |grep 'active (running)' |wc -l`
echo $result
;;
Mysql)
result=`pidof mysqld |wc -l`
echo $result
;;
*)
echo "Usage:$0(Docker|Mysql)"
;;
esac
#在配置文件中配置调用方式和脚本
[root@localhost zabbix]# cat zabbix_agentd.d/service_status.conf
UserParameter=myservice.status[*],/etc/zabbix/script/service_status.sh $1
#创建触发器并设定判定异常时候的标准
{checke service status:myservice.status[Docker].last()}=0
#在agent-server端测试能否调通
zabbix_get -s 192.168.1.14 -k "myservice.status[Docker]"
#最后配置动作相关
#最后可测试,比如停掉docker服务后会发现docker自动重启了,邮件也会收到异常和恢复的通知
##########################################问题点##########################################
1.zabbix提示the zone for php is not set解决
https://blog.csdn.net/jing875480512/article/details/79002404
- Nginx软件部署配置过程
- iptables网络安全服务详细使用
- 未来哪个行业能赚钱,看百度、阿里、腾讯投资的企业你就知道了!
- Augmate公司应用分布式账本技术,将IOTA整合为物联网设备管理平台
- 一域名一年前六位数终端易主 是为了......
- 黑客通过Facebook Messenger传播加密货币挖掘恶意软件
- linq to sql的多条件动态查询(下)
- iptables网络安全服务详细使用
- iptables网络安全服务详细使用
- linq to sql的多条件动态查询(上)
- 极简区块链手册:什么是区块链?什么是比特币?
- Nginx+keepalived实现高可用
- 来一波Linux中查看cpu、磁盘、内存、网络的命令
- PXE+kickstart网络安装CentOS7.4系统及过程中各种报错
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Vue中watch的简单应用
- Go 使用标准库 net/rpc 包
- 强大的 Stream API(三)
- 微软发布代码智能新基准数据集CodeXGLUE,多角度衡量模型优劣
- 强大的 Stream API(二)
- 无限想象空间,用Python玩转3D人体姿态估计
- 300亿美元,AMD为什么要买Xilinx?
- Angular5.0.0新特性
- 用Python实现坦克大战游戏 | 干货贴
- android studio 3.0 升级 项目遇到的问题及更改思路(问题小结)
- Android Studio 3.0被调方法参数名提示的取消方法
- Pycharm中安装Pygal并使用Pygal模拟掷骰子(推荐)
- 解决python多线程报错:AttributeError: Can't pickle local object问题
- TensorFlow2.1.0最新版本安装详细教程
- Android仿京东首页秒杀倒计时