centos7编译安装Zabbix-4.2.4及设置邮件告警教程(超详细每步都有截图)
Zabbix-4.2.4安装及配置
此安装基于centos7的LNMP环境下,如未安装LNMP还可参考本人其他随笔
第一步:上传下载
1、前往https://www.zabbix.com/download_sources下载4.2.4
2、下载完成后上传至服务器
yum -y install lrzsz
rz
选择压缩包,点击确定
3、解压:
tar zxvf zabbix-4.2.4.tar.gz -C /root/
4、进入、创建用户、用户组
cd zabbix-4.2.4/
groupadd zabbix
useradd -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix
第二步:数据库创建zabbix库
1、进入数据库:
mysql -uroot -p
use mysql;
2、创建数据库:
create database zabbix character set utf8 collate utf8_bin;
3、创建用户:
create user zabbix@localhost identified by 'zabbix1';
4、导入数据:
source /root/zabbix-4.2.4/database/mysql/schema.sql
source /root/zabbix-4.2.4/database/mysql/images.sql
source /root/zabbix-4.2.4/database/mysql/data.sql
5、授权用户:
grant all privileges on zabbix.* to zabbix@localhost;
6、刷新权限:
flush privileges;
7、查看是否创建成功:
show databases;
8、quit 退出
第三步:开始安装
1、检查环境:
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --with-libcurl --with-libxml2
报错1:找不到libevent
安装libevent libevent-devel
yum -y install libevent libevent-devel
安装完毕后重新检查环境,检查完毕!
2、编译安装:
make && make install
第三步:zabbix_service配置
1、将zabbix服务放至nginx下的html目录下,并更名为zabbix
cp -R /root/zabbix-4.2.4/frontends/php /usr/local/nginx/html/zabbix
2、复制启动脚本
cd /root/zabbix-4.2.4/misc/init.d/fedora/core
cp -a zabbix_server /etc/init.d/
cp -a zabbix_agent /etc/init.d/
3、修改zabbix_server启动脚本
vim /etc/init.d/zabbix_server 修改路径为如图所示
vim /etc/init.d/zabbix_agent
做与zabbix_server相同的修改
4、对zabbix_server.conf与zabbix_agent.conf做修改
vim /usr/local/zabbix/etc/zabbix_server.conf
将数据库的主机地址、用户名、密码等填写正确
DBSocket可以注释掉不管,如启服务时报sock的错,可进行修改为在即mysql的sock文件所在路径,之后wq保存退出。
再来编辑zabbix_agent.conf
vim /usr/local/zabbix/etc/zabbix_agentd.conf
修改server、ServerActive和hostname
其中hostname要与本机主机名相同,主机名查看方法:shell中输入hostname
5、启动服务
service zabbix_server start
启动服务报错:没有找到这个libmysqlclient.so.21这个函数库
查找一下这个库在哪里:
locate libmysqlclient.so.21
将这个路径添加到 /etc/ld.so.conf文件中:
echo "/usr/local/mysql/lib" >> /etc/ld.so.conf
更新函数库:
ldconfig
6、重新进行启动服务
service zabbix_server start
service zabbix_agent start
netstat -tunlp (查看是否启动成功)
添加开机自启
chkconfig --add zabbix_server
chkconfig --add zabbix_agentd
chkconfig --level 2345 zabbix_server on
chkconfig --level 2345 zabbix_agentd on
chkconfig --list
ok,设置完毕后,打开浏览器,进入zabbix的安装界面
浏览器输入:
[本机ip]/zabbix 然后回车
进入后进行web页安装:
第一步:Next
第二步:
配置错误的参数:
根据它的提示修改便可,后边也给出了推荐值,将配置文件中的选项改成其推荐值即可
vim /usr/local/php/etc/php.ini
1、
2、
3、
修改后发现还是不起作用,以为自己改错了,反复核对没有问题,终于找到了答案。。
执行php -i | grep 'php.ini'
查看你所执行的php.ini文件是哪个路径下的php.ini
发现果然修改错了,将php.ini文件移动到/usr.local.php/lib/下:
cd /usr/local/php/etc/
mv php.ini ../lib/
重启nginx和php:
service php-fpm restart
service nginx restart
重新打开网页,全部成绿色,开始Next
第三步:输入之前创建的mysql账号密码,Next,发现报错(一共报错两个,第二个未截图)
第一个:Error connecting to database: No nush file or directory
第二个:The server requested authentication method unknown to the client
第三步的这个报错困扰了我一天,百度一天都没有结果,在我都快要放弃重新安装的时候,希望的曙光来临了!
终于查到了一个资料,原来,是由于新版本mysql账号密码解锁的机制不一致导致的,新版本中mysql解锁机制为caching_sha2_password,而旧版本中是mysql_native_password,影响了服务器与和客户端的兼容性问题,所以我们先将验证方式更改为以前的mysql_native_password即可。
解决方法:
1、删除之前创建的用户:
delete from user where user='zabbix' and host='localhost';
2、进入mysql的配置文件
vim /etc/my.cnf,加入下行:
default_authentication_plugin=mysql_native_password
3、重启mysql服务,再重新进入mysql创建zabbix用户
mysql -uroot -p 输入密码
mysql中操作:
use mysql;
create user zabbix@localhost identified by 'zabbix1'; 创建用户
grant all privileges on zabbix.* to zabbix@localhost; 授权
4、设置zabbix用户和root用户可以远程连接
update user set host='%' where user='root';
update user set host='%' where user='zabbix';
flush privileges; 刷新权限
select host, user, authentication_string, plugin from user; 查看是否设置成功
这样就代表成功了,执行quit 退出
5、mysql重新创建完之后还要注意修改一下zabbix_server.conf
vim /usr/local/zabbix/etc/zabbix_server.conf
将这几个选项相对的填写正确,其中DBSocket的路径需要修改以下填写自己的,其实DBSocket并无大碍,前几个都设置好后,如果能够正常Next,就不用设置DBSocket。
再将默认路径下的zabbix中conf目录及以下的文件权限设定为777
chmod -R 777 conf
6、最后再重启以下mysql和php-fpm。
再重新进入web页测试,将此步骤中中的database host更改为127.0.0.1
点击Next step,ok成功
第四步:额。。忘记截图了,不过不重要,只是将自己的服务名字写上去就好,我填的zabbix_server
第五步:完成安装
点击Finish
默认账户Admin
密码:zabbix 进行登录
第六步:进行汉化
1、进入html/zabbix/include/locales.inc.php文件中,后边为ture就为支持
2、点击右上角小人,选择中文,点击Update。完后汉化
3、更改后,如果发现有的地方是乱码,或者是没更改过来,可进行以下操作:
随便选择一个自己喜欢的字体
vim /usr/local/nginx/html/zabbix/includedefines.inc.php
查看此保存字体的目录在哪
然后在windows下选择一个自己喜欢的字体传到此目录下
将文件的ZBX_GRAPH_FONT_NAME更改为你上传的字体名字,保存,重启zabbix即可
第七步:添加监控项、邮件告警等
https://www.cnblogs.com/liuhedong/p/10678605.html
1、添加主机
2、配置邮件告警,这里以VSFTP服务为例
yum install -y vsftpd vim /etc/vsftpd/vsftpd.conf listen=YES # 修改该条 listen_ipv6=YES # 删除该条 systemctl start vsftpd
编写邮件告警脚本:
vim /usr/local/zabbix/share/zabbix/alertscripts/sendmail.py
将以下内容复制:(我用的qq邮箱,如用其他邮箱做发件人,请根据注释修改)
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
import smtplib
from email.mime.text import MIMEText
import sys
# configure your own parameters here
#下面邮件地址的smtp地址 mail_host = 'smtp.163.com'
#用来发邮件的邮箱,在发件人抬头显示(不然你的邮件会被当成是垃圾邮件)
mail_user = '****@qq.com'
# 客户端授权码
mail_auth = '******'
# 发送方显示的名称
send_name = mail_user
# 接收方显示的名称
recv_name = mail_user
def excute(to, title, content):
msg = MIMEText(content, 'plain', 'utf-8')
msg['From'] = send_name msg['To'] = recv_name
msg['Subject'] = title server = smtplib.SMTP(mail_host, 25)
server.login(mail_user,mail_auth)
server.sendmail(mail_user,to,msg.as_string())
server.quit()
if __name__ == '__main__':
excute(sys.argv[1], sys.argv[2], sys.argv[3])
# $1 $2 $3
然后赋予执行权限chmod +x /usr/local/zabbix/share/zabbix/alertscripts/sendmail.py
3、创建报警媒介及动作
添加完成:
选择
然后点击添加按钮,其他两个模块也修改为与以上相同的
添加完成
4、将vsftp服务停掉,测试是否可以收到邮件了
此项说明邮件已送达,下一步打开邮箱看一下
ok,收到邮件,nice,再恢复服务看能不能收到邮件
也收到了 ok!
centos7编译安装Zabbix-4.2.4及设置邮件告警教程(超详细每步都有截图)的更多相关文章
- centos7编译安装zabbix(附带编译安装lnmp)
先把防火墙和selinux关闭: sytemctl stop firewalld setenforce 0 1.yum安装依赖: yum -y install wget openssl* gcc gc ...
- centos7编译安装zabbix的错误
[Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through s ...
- Centos7下安装zabbix 3.0.19
参考网站: https://www.cnblogs.com/xiewenming/p/7732144.html https://www.cnblogs.com/clsn/p/7885990.html ...
- 编译安装zabbix 3.0及分开部署配置详解
实验系统:CentOS 6.6_x86_64 实验前提:提前准备好编译环境,防火墙和selinux都关闭 实验说明:本实验共有4台主机,IP及角色分配如拓扑 下载地址:试验中用到mariadb软件的下 ...
- CentOS7编译安装Nginx-1.8.1和编译参数
CentOS7编译安装Nginx-1.8.1和编译参数 Web服务器Nginx LNMP是一组众所周知的Web网站服务器架构环境,即由Linux+Nginx+MySQL+PHP(MySQL有时也 ...
- centos7编译安装MySQL5.7.9
title: centos7编译安装MySQL5.7.9 date: 2016-05-12 16:20:17 tags: --- Centos7编译安装mysql5.7.9 mysql5.7有更好的性 ...
- centos7 编译安装新版LNMP环境
centos7 编译安装新版LNMP环境 环境版本如下: 1.系统环境:Centos 7 x86_64 2.NGINX:nginx-1.11.3.tar.gz 3.数据库:mariadb-10.0.2 ...
- CentOS7编译安装httpd-2.4.41 php7.3
CentOS7编译安装httpd-2.4.41 php7.3 安装参考环境: CentOS Linux release 7.5.1804 (Core) 一.安装依赖包 httpd安装的依赖包 # yu ...
- Centos7 编译安装PHP7
Centos7 编译安装PHP7 编译安装的方式可以让组件等设置更加合理,但需要你对PHP的代码及各种配置非常的熟悉,以下为大致的安装流程,大家可以参考 1.下载编译工具 yum groupinsta ...
随机推荐
- Neety的基础使用及说明
BIO(缺乏弹性伸缩能力,并发量小,容易出现内存溢出,出现宕机 每一个客户端对应一个线程 伪异步IO:创建线程池,由线程池里边的线程负责连接处理,M个个请求进来时,会在线程池创建N个线程.容易出现线程 ...
- python学习-excel读取
# 第三方库 openpyxl # install 安装# pip install openpyxl # 引入第三方库# excel操作的流程:# 打开excel,进入工作薄 workbook# 选择 ...
- python学习-os引入
# 引入import os # 路径处理 -- 外部资源-os # 获取当前的工作路径workspace = os.getcwd() # os模块下的getcwd函数print(workspace) ...
- 聊一聊 Vue 中 watch 对象中的回调函数为什么不能是箭头函数?
聊一聊 Vue 中 watch 对象中的回调函数为什么不能是箭头函数 本文重点知识点速览: Vue 中的 watch 对象中的回调函数不能是箭头函数. 箭头函数中的 this 指向的是函数定义时所在的 ...
- 关于EXIT和BADI增强的查找
EXIT出口的查找: 方法一: 第一步:通过SE30,输入TCODE(例如ME21N),执行EXCUTE,前台创建一张采购订单.点击TIMES页签,查找EXIT开头的SAP程序. 第二步:这些fun ...
- iOS:bugly符号表上传
https://blog.csdn.net/weixin_38633659/article/details/81667721 这个篇文章已经讲得足够清楚 而且官方的文档也写得很好(注意官方网站上的文档 ...
- IntelliJ IDEA 安装、配置和使用Lombok插件
Lombok 可用来帮助开发人员消除 Java 的重复代码,尤其是对于简单的 Java 对象(POJO),比如说getter/setter/toString等方法的编写.它通过注解实现这一目的.官网: ...
- Linux MySQL的root无法登录数据库ERROR 1045 (28000)
Linux环境下,脚本自动安装完数据库,命令行用mysql -uroot -ppasswaord 登录却报了这么个错: ERROR 1045 (28000): Access denied for us ...
- Cocos Creator 资源加载流程剖析【五】——从编辑器到运行时
我们在编辑器中看到的资源,在构建之后会进行一些转化,本章将揭开Creator对资源进行的处理. 资源处理的整体规则 首先我们将Creator的开发和运行划分为以下几个场景: 编辑器 当我们将资源放到编 ...
- 更换国内pip
pip国内的一些镜像 原始地址:https://pypi.python.org/simple 国内地址: 阿里云 http://mirrors.aliyun.com/pypi/simple/ 中国科技 ...