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及设置邮件告警教程(超详细每步都有截图)的更多相关文章

  1. centos7编译安装zabbix(附带编译安装lnmp)

    先把防火墙和selinux关闭: sytemctl stop firewalld setenforce 0 1.yum安装依赖: yum -y install wget openssl* gcc gc ...

  2. centos7编译安装zabbix的错误

    [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through s ...

  3. Centos7下安装zabbix 3.0.19

    参考网站: https://www.cnblogs.com/xiewenming/p/7732144.html https://www.cnblogs.com/clsn/p/7885990.html  ...

  4. 编译安装zabbix 3.0及分开部署配置详解

    实验系统:CentOS 6.6_x86_64 实验前提:提前准备好编译环境,防火墙和selinux都关闭 实验说明:本实验共有4台主机,IP及角色分配如拓扑 下载地址:试验中用到mariadb软件的下 ...

  5. CentOS7编译安装Nginx-1.8.1和编译参数

    CentOS7编译安装Nginx-1.8.1和编译参数 Web服务器Nginx    LNMP是一组众所周知的Web网站服务器架构环境,即由Linux+Nginx+MySQL+PHP(MySQL有时也 ...

  6. centos7编译安装MySQL5.7.9

    title: centos7编译安装MySQL5.7.9 date: 2016-05-12 16:20:17 tags: --- Centos7编译安装mysql5.7.9 mysql5.7有更好的性 ...

  7. centos7 编译安装新版LNMP环境

    centos7 编译安装新版LNMP环境 环境版本如下: 1.系统环境:Centos 7 x86_64 2.NGINX:nginx-1.11.3.tar.gz 3.数据库:mariadb-10.0.2 ...

  8. CentOS7编译安装httpd-2.4.41 php7.3

    CentOS7编译安装httpd-2.4.41 php7.3 安装参考环境: CentOS Linux release 7.5.1804 (Core) 一.安装依赖包 httpd安装的依赖包 # yu ...

  9. Centos7 编译安装PHP7

    Centos7 编译安装PHP7 编译安装的方式可以让组件等设置更加合理,但需要你对PHP的代码及各种配置非常的熟悉,以下为大致的安装流程,大家可以参考 1.下载编译工具 yum groupinsta ...

随机推荐

  1. JS中forEach和map的区别

    共同点: 1.都是循环遍历数组中的每一项. 2.forEach()和map()里面每一次执行匿名函数都支持3个参数:数组中的当前项item,当前项的索引index,原始数组input. 3.匿名函数中 ...

  2. PostgreSQL 、springboot 、spring data jpa 集成

    项目地址:https://gitee.com/zhxs_code/PostgreSQL_springboot_jpa_demo.git 增删查改都已经实现. 重点部分: 1.定义自己的方言. pack ...

  3. 线程中put(None)和主函数中put(None)的区别和用法

    ''' 初试生产者消费者模型代码 分析: 对象含有生产者.队列.消费者 Queue队列模块,不适合传大文件,通常传一些消息. ''' '''多生产者进程和多消费者进程''' #导入模块 from mu ...

  4. 松软科技Web课堂:JavaScript While 循环

    只要条件为 true,循环能够一直执行代码块. While 循环 while 循环会一直循环代码块,只要指定的条件为 true. 语法 while (条件) { 要执行的代码块 } 实例 在下面的例子 ...

  5. idea2019注册码,亲测可用!

    2019已经过半了,最近可把我忙死了,好久没打理这里的留言了. 今天登上来,看到许多同学反馈按照之前的那篇文章 IntelliJ IDEA 2018激活码 永久破解 里的步骤无法破解idea,其实用这 ...

  6. 参加杭州 2019 AI Bootcamp有感与总结(1)

    上周末参加了微软人工智能的活动,感慨多多. 感谢活动主讲和主办方. 通过参加活动,对微软认知服务和ML.NET的现状与发展有了更多的认识.文章不是活动内容的堆叠,总结少点,更多的大概是感慨. 微软认知 ...

  7. springboot 读取 resource 下的文件

    ClassPathResource classPathResource = new ClassPathResource("template/demo/200000168-check-resp ...

  8. ZKWeb 官网与演示站点的部署步骤 (Linux + Nginx + Certbot)

    因为没有给域名续费,加上私人时间不足,ZKWeb 的官网和演示站点已经停止了几个月的时间. 最近时间开始变多,所以重新购买了别的域名和服务器把官网和演示站点重新部署上去. 在此前站点是托管在共享主机上 ...

  9. 针对上一篇prim最后的完善结果

    edge* Graph::prim(int cur) { if (cur >= this->vertexNum) { return NULL; } int *weight = new in ...

  10. pandas 初识(五)

    1. 如何实现把一个属性(列)拆分成多列,产生pivot,形成向量信息,计算相关性? 例: class_ timestamp count 0 10 2019-01-20 13:23:00 1 1 10 ...