centos7安装配置zabbix4.0
zabbix01 198.8.8.211 zabbix-server4.0
zabbix02 198.8.8.212 zabbix-agent4.0
一:zabbix服务端环境部署:
1.1部署LAMP环境:zabbix中web监控管理界面,需要LNMP架构支持
yum install -y httpd mariadb-server mariadb php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mhash
1.1.1:配置httpd:
ServerName zabbix01.zm.com:80
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
1.1.2:配置php:
date.timezone = PRC
1.1.3:启动httpd,mysql
关闭防火墙
systemctl stop firewalld
systemctl disabled firewalld
关闭selinux
setenforce 0
getenforce
vim /etc/sysconfig/selinux
SELINUX=enforcing改为SELINUX=disabled
reboot
systemctl start httpd
systemctl start mariadb
netstat -ntap | grep '(80|3306)'
mysql启动后执行初始安全设置:
[root@zabbix01 ~]# mysql_secure_installation NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here. Enter current password for root (enter for none): \\回车
OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation. Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success! By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment. Remove anonymous users? [Y/n] n
... skipping. Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] n
... skipping. By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment. Remove test database and access to it? [Y/n] n
... skipping. Reloading the privilege tables will ensure that all changes made so far
will take effect immediately. Reload privilege tables now? [Y/n] n
... skipping. Cleaning up... All done! If you've completed all of the above steps, your MariaDB
installation should now be secure. Thanks for using MariaDB!
1.1.4:创建测试页:
[root@zabbix01 ~]# vim /var/www/html/index.php
<?php phpinfo(); ?> :wq

[root@zabbix01 ~]# mysql -u root -p
MariaDB [(none)]> CREATE DATABASE zabbix character set utf8 collate utf8_bin;
//创建zabbix数据库(中文编码格式)
MariaDB [(none)]> GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'zzz';
//授予zabbix用户zabbix数据库的所有权限,密码zzz
MariaDB [(none)]> flush privileges;
//刷新权限
MariaDB [(none)]> quit
[root@zabbix01 ~]# vim /var/www/html/index.php
//修改测试页内容,测试zabbix用户是否能够登陆数据库
<?php
$link=mysql_connect('198.8.8.211','zabbix','zz');
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
mysql_close();
?>
查询mysql用户:
SELECT User, Host, Password FROM mysql.user;
MariaDB [(none)]> select User, Host FROM mysql.user;
+--------+-----------+
| User | Host |
+--------+-----------+
| zabbix | % |
| root | 127.0.0.1 |
| root | ::1 |
| | localhost |
| root | localhost |
| | zabbix01 |
| root | zabbix01 |
+--------+-----------+
7 rows in set (0.00 sec)
新建zabbix用户
MariaDB [(none)]> GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'zzz';
MariaDB [(none)]> GRANT all ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY 'zzz';
MariaDB [(none)]> GRANT all ON zabbix.* TO 'zabbix'@'zabbix01' IDENTIFIED BY 'zzz';
MariaDB [(none)]> select user,host from mysql.user;
+--------+-----------+
| user | host |
+--------+-----------+
| zabbix | % |
| root | 127.0.0.1 |
| root | ::1 |
| | localhost |
| root | localhost |
| zabbix | localhost |
| | zabbix01 |
| root | zabbix01 |
| zabbix | zabbix01 |
+--------+-----------+
9 rows in set (0.00 sec)
MariaDB [(none)]> flush privileges;
浏览器访问http://198.8.8.211/

上图说明php连通数据库完成。
二:部署zabbix server:https://www.zabbix.com/download
安装php支持的zabbix组件:
[root@zabbix01 ~]# yum install php-bcmath php-mbstring -y
yum源文件获取:
[root@zabbix01 ~]# rpm -i https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
安装zabbix组件:
[root@zabbix01 ~]# yum install zabbix-server-mysql zabbix-web-mysql -y
自动生成数据库文件:
[root@zabbix01 ~]# zcat /usr/share/doc/zabbix-server-mysql-4.0.1/create.sql.gz | mysql -u zabbix(用户名) -p zabbix(库名)
修改zabbix配置文件:
grep -n '^'[a-Z] /etc/zabbix/zabbix_server.conf
vim /etc/zabbix/zabbix_server.conf
ListenPort=10051
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
DBName=zabbix
DBUser=zabbix
DBPassword=zzz
DBPort=3306
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
ListenIP=198.8.8.211
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
修改zabbix在httpd中的时区:
vim /etc/httpd/conf.d/zabbix.conf
<IfModule mod_php5.c>
php_value date.timezone Asia/Shanghai
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value max_input_vars 10000
php_value always_populate_raw_post_data -1
# php_value date.timezone Europe/Riga
</IfModule>
启动zabbix及httpd服务:
systemctl enable zabbix-server
systemctl start zabbix-server
netstat -anpt | grep zabbix
systemctl restart httpd.service
web界面访问:
http://198.8.8.211/zabbix/








设置中文:Administrator-Users-Admin-Language

web界面乱码:
方法一:
如web界面中文乱码,需要复制相应文字,使zabbix识别
下载STKAITI.TTF字体拷贝到如下路径:
cp STKAITI.TTF /usr/share/zabbix/fonts/
使zabbix系统识别字体
vim /usr/share/zabbix/include/defines.inc.php
:%s /graphfont/kaiti/g //采用全局替换模式
方法二:
复制C:\Windows\Fonts下的简黑字体

拷贝到/usr/share/fonts/dejavu/simhei.ttf
进入/etc/alternatives
删除名为zabbix-web-font的软连接
重建软连接:
ln -s /usr/share/fonts/dejavu/simhei.ttf zabbix-web-font
登陆后报错:
正常安装完zabbix后,登录后zabbix监控报错zabbix server is not running: the information displayed may not be current
[root@zabbix zabbix]# find / -name zabbix.conf.php
/etc/zabbix/web/zabbix.conf.php
[root@zabbix zabbix]# vim /etc/zabbix/web/zabbix.conf.php
<?php
// Zabbix GUI configuration file.
global $DB; $DB['TYPE'] = 'MYSQL';
$DB['SERVER'] = '192.168.8.8';
$DB['PORT'] = '3306';
$DB['DATABASE'] = 'zabbix01';
$DB['USER'] = 'zabbix01';
$DB['PASSWORD'] = 'z'; // Schema name. Used for IBM DB2 and PostgreSQL.
$DB['SCHEMA'] = ''; $ZBX_SERVER = '192.168.8.8';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = 'Zabbix01'; $IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
如还报错:
netstat -lnp | zabbix
查看端口10051是否开启
如未开启:
vi /etc/zabbix/zabbix_server.conf
DBHost=x.x.x.x
重启zabbix-server:
systemctl status zabbix-server
三:配置被监控端-如果监控服务器需要监控自己,也需要安装配置:
CentOS7添加方法:
3.1安装zabbix-agent客户端
3.1.1配置zabbix yum源:
rpm -i https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
3.1.2安装客户端:
yum install -y zabbix-agent
3.1.3修改agent配置文件:
[root@zabbix02 ~]# vim /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=198.8.8.211
ListenPort=10050
ServerActive=198.8.8.211
Hostname=zabbix01
Include=/etc/zabbix/zabbix_agentd.d/*.conf
3.1.4 关闭防火墙
[root@zabbix02 ~]# systemctl stop firewalld
3.1.5 关闭selinux
[root@zabbix02 ~]# setenforce 0
[root@zabbix02 ~]# vim /etc/selinux/config
#SELINUX=enforcing
SELINUX=disabled
3.1.6启动zabbix-agent
[root@zabbix02 ~]# systemctl start zabbix-agent.service
[root@zabbix02 ~]# systemctl enable zabbix-agent.service
Windows添加方法:
官方安装方法:
https://www.zabbix.com/download
下载windows包:
https://www.zabbix.com/download_agents
zabbix_agents-4.0.0-win-amd64
解压后得到bin和conf两个文件夹:
修改配置文件D:\Program Files\Zabbix\conf\zabbix_agentd.win.conf
修改下面几项
EnableRemoteCommands=1 #允许在本地执行远程命令
LogRemoteCommands=1 #执行远程命令是否保存操作日志
Server = 172.16.20.90 #填写zabbix服务器IP地址
ListenPort=10050
Hostname= Zabbix server #zabbix_agent监控服务器名称 (监控主机名称)
Log=c:\zabbix_agentd.log
ServerActive=172.16.20.90 #填写zabbix服务器IP地址
新建cmd快捷方式,以管理员身份运行
安装zabbix客户端:
d:\program files\zabbix\bin\zabbix_agentd.exe -i -c d:\program files\zabbix\conf\zabbix_agentd.win.conf
中间不可有空格:
d:\zabbix\bin\zabbix_agentd.exe -i -c d:\zabbix\conf\zabbix_agentd.win.conf
启动zabbix客户端:
d:\zabbix\bin\zabbix_agentd.exe -s -c d:\zabbix\conf\zabbix_agentd.win.conf
C:\Windows\system32>d:\program files\zabbix\bin\zabbix_agentd.exe -i -c d:\program files\zabbix\conf\zabbix_agentd.win.conf
'd:\program' 不是内部或外部命令,也不是可运行的程序
或批处理文件。 C:\Windows\system32>d:\zabbix\bin\zabbix_agentd.exe -i -c d:\zabbix\conf\zabbix_agentd.win.conf
zabbix_agentd.exe [5640]: service [Zabbix Agent] installed successfully
zabbix_agentd.exe [5640]: event source [Zabbix Agent] installed successfully C:\Windows\system32>d:\zabbix\bin\zabbix_agentd.exe -s -c d:\zabbix\conf\zabbix_agentd.win.conf
zabbix_agentd.exe [7624]: service [Zabbix Agent] started successfully
四:在zabbix服务器添加被监控机
4.1创建主机:
配置-主机-创建主机



五:报警配置:
5.1邮件报警:
[root@zabbix01 ~]# yum install mailx -y
[root@zabbix01 ~]# vim /etc/mail.rc
添加:
set from=xxx@163.com
set smtp=smtp.163.com
set smtp-auth-user=xxx@163.com
set smtp-auth-password=123456
set smtp-auth=login
测试邮件发送:
[root@zabbix01 ~]# echo 'hello' | mail -s 'testmail' zm_cm@163.com
5.2设置邮件发送脚本:
[root@zabbix01 ~]# vim /usr/lib/zabbix/alertscripts/mailx.sh
#!/bin/bash
#send mail messages=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 | tr '\r\n' '\n'`
echo "${messages}" | mail -s "${subject}" $1 >>/tmp/mailx.log 2>&1
touch /tmp/mailx.log
chown -R zabbix.zabbix /tmp/mailx.log
chmod +x /usr/lib/zabbix/alertscripts/mailx.sh
chown -R zabbix.zabbix /usr/lib/zabbix/
添加可执行权限:
[root@zabbix01 ~]# chmod +x /usr/lib/zabbix/alertscripts/mailx.sh
测试发件:
[root@zabbix01 ~]# /usr/lib/zabbix/alertscripts/mailx.sh zm_cm@163.com '111''222'
5.3配置zabbix自动触发脚本





告警主机:{HOST.NAME}
告警IP:{HOST.IP}
告警时间:{EVENT.DATE}-{EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}:{ITEM.VALUE}
事件ID:{EVENT.ID}
持续时间需改为60s,否则会报错:字段 "esc_period": 必须在 "60" 和 "604800" 之间 值错误。


六:监控脚本配置
6.1 io监控脚本:
UserParameter=custom.vfs.dev.read.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$4}' //磁盘读的次数
UserParameter=custom.vfs.dev.read.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$7}' //磁盘读的毫秒数
UserParameter=custom.vfs.dev.write.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$8}' //磁盘写的次数
UserParameter=custom.vfs.dev.write.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$11}' //磁盘写的毫秒数
UserParameter=custom.vfs.dev.io.active[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$12}'
UserParameter=custom.vfs.dev.io.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$13}' //花费在IO操作上的毫秒数
UserParameter=custom.vfs.dev.read.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$6}' //读扇区的次数(一个扇区的等于512B)
UserParameter=custom.vfs.dev.write.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$10}' //写扇区的次数(一个扇区的等于512B)
6.2 重启zabbix-agent服务
[root@zabbix01 ~]# systemctl restart zabbix-agent
6.3 登陆web页面添加模板
七:zabbix-server主机ip修改后web报错

7.1:修改 vim /etc/zabbix/zabbix_server.conf 中ip
7.2:修改 vim /etc/zabbix/web/zabbix.conf.php 中ip
<?php
// Zabbix GUI configuration file.
global $DB; $DB['TYPE'] = 'MYSQL';
$DB['SERVER'] = '192.168.1.6';
$DB['PORT'] = '3306';
$DB['DATABASE'] = 'zabbix01';
$DB['USER'] = 'zabbix01';
$DB['PASSWORD'] = 'xxxxxx'; // Schema name. Used for IBM DB2 and PostgreSQL.
$DB['SCHEMA'] = ''; $ZBX_SERVER = '192.168.1.6';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = 'zabbix01'; $IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
参考:
https://blog.csdn.net/rujianxuezha/article/details/79842998
https://www.linuxidc.com/Linux/2018-10/154773.htm
centos7安装配置zabbix4.0的更多相关文章
- CentOS7安装配置redis5.0.5
一.安装必需包gcc yum install gcc 二.下载redis,并解压 wget http://download.redis.io/releases/redis-5.0.5.tar.gz t ...
- CentOS7安装配置redis-3.0.0
一.安装必要包 yum install gcc 二.linux下安装 #下载 wget http://download.redis.io/releases/redis-3.0.0.tar.gz tar ...
- Centos7安装配置gitlab
Centos7安装配置gitlab 这篇文字我会介绍在Centos7上安装gitlab,配置gitlab的smtp,并且创建项目demo. sudo yum install openssh-serve ...
- Centos7安装配置Apache+PHP+Mysql+phpmyadmin
转载自: Centos7安装配置Apache+PHP+Mysql+phpmyadmin 一.安装Apache yum install httpd 安装成功后,Apache操作命令: systemctl ...
- (转)Centos7安装配置NFS服务和挂载
Centos7安装配置NFS服务和挂载 原文:https://www.u22e.com/601.html NFS简介 NFS(Network File System)即网络文件系统,是FreeBSD支 ...
- CentOS7 安装配置笔记
CentOS7 安装配置笔记 1.通过镜像安装 CentOS7 ==============================* 使用 UltraISO 9.7 或者 rufus-3.5p 制作ISO的 ...
- Centos7安装配置jenkins(Tomcat)
Centos7安装配置jenkins(Tomcat) 一.准备工作 1.1 安装JDK1.8 具体安装过程不在赘述. 1.2 下载jenkins的war包 jenkins官网下载地址:https:// ...
- RHEL7或CentOS7安装11.2.0.4 RAC碰到的问题
RHEL7或CentOS7安装11.2.0.4 RAC碰到的问题 随着Linux 版本的普及,但Oracle数据库主流版本仍是11gR2, 的支持不很完美,在Linux 上安装会遇到几处问题,以此记录 ...
- windows7下安装配置phonegap3.0 (cordavo)开发环境 (涉及android sdk配置)
之前在mac上安装调试过phonegap,现在公司用的是windows7,所以不得不再进行一次windows下的配置工作,顺便也写下来了 主要麻烦的地方是要在win7下添加好几个环境变量,这一块地方特 ...
随机推荐
- clustering
搞了将近一年的单细胞,聚类也是自认为得心应手了,自信满满. 但是多半是跑软件,对聚类的深层次的思想不甚了了. Google了一下clustering,看了一篇文章,突然了解到了clustering的算 ...
- 如何跳过开机密码进入windows系统
工具:安装好PE系统的u盘一个. 开机时按F12(每个电脑不同)进入PE系统,将c盘目录下的SAM文件拷入自己的u盘内.SAM文件的位置: C:\WINDOWS\system32\config\SA ...
- 教你一招 - 如何安装nopcommerce2.5
教你一招 - 如何安装nopcommerce2.5 29. 五月 2012 16:22 / wcf / 教你一招 . 解决方案 ...
- 机器学习ML策略
1.为什么是ML策略 例如:识别cat分类器的识别率是90%,怎么进一步提高识别率呢? 想法: (1)收集更多数据 (2)收集更多的多样性训练样本 (3)使用梯度下降训练更长时间 (4)尝试Adam代 ...
- Confluence 6 编辑一个空间的配色方案
空间默认继承全局的配色方案.但是,如果你是空间管理员的话,你可以对默认继承的全局方案进行调整,使用自定义的配色方案. 为一个空间修改配色方案: 进入空间后,然后从边栏的底部选择 空间工具(Space ...
- luffy之多条件登录与极验滑动验证码
多条件登录 JWT扩展的登录视图,在收到用户名与密码时,也是调用Django的认证系统中提供的authenticate()来检查用户名与密码是否正确. 我们可以通过修改Django认证系统的认证后端( ...
- hdu5992 kdt
题意:n个旅馆,每个有花费,m个查询,查询在某个点在c花费范围内的距离最小的旅馆 题解:kdt,建成四维,坐标两维,花费一维,id一维,实际上建树只用前两维,正常的查询,如果满足条件在更新答案即可 / ...
- 【其他】【Restful】【1】简单了解Restful概念
内容: REST是一种设计风格,不是一种标准,是一种思想.符合REST原则的架构方式即可称为RESTful. 在Restful之前的操作:http://127.0.0.1/user/query/1 G ...
- thinkphp或者kohana 导入和读取文件
1.无论是那个框架的导入,其实都是一样的原理的,但是首先我们要导入包,可能就这点不同. kohana的导入包的方法:require_once(Kohana::find_file('vendor','P ...
- mybatis调用存储过程的两种方式
先总结和说明一下注意点: 1.如果传入的某个参数可能为空,必须指定jdbcType 2.当传入map作为参数时,必须指定JavaType 3.如果做动态查询(参数为表名,sql关键词),可以使用${} ...