Zabbix 3.4.2 install && Configuration
原理:
1)zabbix server:负责接收agent发送的报告信息的核心组件,所有配置、统计数据及操作数据都由它组织进行;
2)database storage:专用于存储所有配置信息,以及由zabbix收集的数据;
3)web interface:zabbix的GUI接口;
4)proxy:可选组件,常用于监控节点很多的分布式环境中,代理server收集部分数据转发到server,可以减轻server的压力;
5)agent:部署在被监控的主机上,负责收集主机本地数据如cpu、内存、数据库等数据发往server端或proxy端;
另外,zabbix server、proxy、agent都有自己的配置文件以及log文件。
一个监控系统运行的大概的流程是这样的:
agentd需要安装到被监控的主机上,它负责定期收集各项数据,并发送到zabbix server端,zabbix server将数据存储到数据库中,zabbix web根据数据在前端进行展现和绘图。
其中agentd收集数据分为主动和被动两种模式:
主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy
被动:server向agent请求获取监控项的数据,agent返回数据。
【主动监测】通信过程如下:
zabbix首先向ServerActive配置的IP请求获取active items,获取并提交active tiems数据值server或者proxy。
问题1:zabbix多久获取一次active items?它会根据配置文件中的RefreshActiveChecks的频率进行,如果获取失败,那么将会在60秒之后重试。
分两个部分:
获取ACTIVE ITEMS列表
- Agent打开TCP连接(主动检测变成Agent打开)
- Agent请求items检测列表
- Server返回items列表
- Agent 处理响应
- 关闭TCP连接
- Agent开始收集数据
主动模式:
- Agent建立TCP连接
- Agent提交items列表收集的数据
- Server处理数据,并返回响应状态
- 关闭TCP连接
被动模式:
- Server打开一个TCP连接
- Server发送请求agent.ping\n
- Agent接收到请求并且响应<HEADER><DATALEN>1
- Server处理接收到的数据1
- 关闭TCP连接
问题2:
被动模式每次都需要打开一个tcp连接,这样当监控项越来越多时,就会出现server端性能问题了。
那实际监控中是用主动的还是被动的呢?这里主要涉及两个地方:
1、新建监控项目时,选择的是zabbix代理还是zabbix端点代理程式(主动式),前者是被动模式,后者是主动模式。
2、agentd配置文件中StartAgents参数的设置如果为0,表示禁止被动模式,否则开启。一般建议不要设置为0,因为监控项目很多时,可以部分使用主动,部分使用被动模式。
常用的监控架构平台
1、server-agentd模式:
这个是最简单的架构了,常用于监控主机比较少的情况下。
2、server-proxy-agentd模式:
这个常用于比较多的机器,使用proxy进行分布式监控,有效的减轻server端的压力。
开始搭建:
[root@opop01 ~]# uname -r
3.10.0-693.el7.x86_64
[root@opop01 ~]# cat /etc/centos-release
CentOS Linux release 7.4.1708 (Core)
服务端IP:192.168.0.223
客户端IP:192.168.0.224
[root@opop1 ~]# systemctl stop firewalld.service
[root@opop1 ~]# systemctl disable firewalld.service
[root@opop1 ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
挂载光盘
[root@opop01 ~]# mount /dev/sr0 /mnt/usb1
[root@opop01 ~]# yum -y install lrzsz vim
[root@opop01 ~]# vim /etc/hosts
192.168.0.223 opop01
192.168.0.224 opop2
[root@opop01 ~]# mkdir /opop
[root@opop01 ~]# cd /opop/
创建用户:
[root@opop01 opop]# groupadd zabbix
[root@opop01 opop]# useradd -r -g zabbix zabbix
部署LAMP环境:
[root@opop01 opop]# yum -y install vim lrzsz wget gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-server krb5-devel libidn libidn-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers net-snmp-devel httpd httpd-devel mariadb mariadb-server php php-mysql php-common php-gd php-mbstring php-mcrypt php-devel php-xml net-snmp-devel libxml2-devel libcurl-deve libevent libevent-devel mysql mysql-devel
启动mariadb并导入数据库:
[root@opop01 opop]# systemctl start mariadb.service
[root@opop01 opop]# mysqladmin -uroot password '123456'
[root@opop01 opop]# mysql -uroot -p123456
MariaDB [(none)]> create database zabbix character set utf8;
MariaDB [(none)]> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by '123456';
MariaDB [(none)]> grant all privileges on zabbix.* to 'zabbix'@'%' identified by '123456';
MariaDB [(none)]> exit
Bye
[root@opop01 opop]# systemctl restart mariadb.service
[root@opop01 opop]# systemctl enable mariadb
[root@opop01 opop]# systemctl restart httpd.service
[root@opop01 opop]# systemctl enable httpd.service
下载zabbix源码包:
[root@opop01 opop]# wget https://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.4.2/zabbix-3.4.2.tar.gz?r=&ts=1517190738&use_mirror=jaist
[root@opop01 opop]# tar -zxvf zabbix-3.4.2.tar.gz
[root@opop01 opop]# cd zabbix-3.4.2/database/mysql/
[root@opop01 mysql]# mysql -uroot -p123456 zabbix < schema.sql #这里导入的时候有先后顺序,需注意
[root@opop01 mysql]# mysql -uroot -p123456 zabbix < images.sql
[root@opop01 mysql]# mysql -uroot -p123456 zabbix < data.sql
[root@opop01 mysql]# cd ../../
编译:
[root@opop01 zabbix-3.4.2]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
[root@opop01 zabbix-3.4.2]# make install
[root@opop01 zabbix-3.4.2]# chown -R zabbix:zabbix /usr/local/zabbix/
修改zabbix_server.conf
[root@opop01 zabbix-3.4.2]# vim /usr/local/zabbix/etc/zabbix_server.conf
LogFile=/tmp/zabbix_server.log
PidFile=/tmp/zabbix_server.pid
DBName= #mysql中授权过的用户名的密码
DBSocket=/var/lib/mysql/mysql.sock #这个要查下mysql的套接字在什么位置
DBPort=3306
ListenIP=192.168.0.223 #服务端IP
Timeout=4
AlertScriptsPath=/etc/zabbix/alertscripts
LogSlowQueries=3000
Include=/usr/local/zabbix/etc/zabbix_server.conf.d/*.conf
LogSlowQueries=3000
############## grep -v ^# /usr/local/zabbix/etc/zabbix_server.conf | grep -v ^$ 可查看所有配置 ###########
修改zabbix_agentd.conf
[root@opop01 zabbix-3.4.2]# vim /usr/local/zabbix/etc/zabbix_agentd.conf
PidFile=/tmp/zabbix_agentd.pid
LogFile=/tmp/zabbix_agentd.log
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=Zabbix server
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf
添加前端文件:
[root@opop01 zabbix-3.4.2]# mkdir /var/www/html/zabbix
[root@opop01 zabbix-3.4.2]# cp -r frontends/php/* /var/www/html/zabbix/
[root@opop01 zabbix-3.4.2]# pwd
/opop/zabbix-3.4.2
[root@opop01 zabbix-3.4.2]# chown -R apache:apache /var/www/html/zabbix/
编辑PHP的配置文件
[root@opop01 zabbix-3.4.2]# vim /etc/php.ini
384 max_execution_time =
394 max_input_time = 300
405 memory_limit = 128M
672 post_max_size = 32M
878 date.timezone = Asia/Shanghai
将zabbix添加到系统路径,并建立软链接:
[root@opop01 zabbix-3.4.2]# cp misc/init.d/tru64/zabbix_server /etc/init.d/
[root@opop01 zabbix-3.4.2]# cp misc/init.d/tru64/zabbix_agentd /etc/init.d/
[root@opop01 zabbix-3.4.2]# chmod +x /etc/init.d/zabbix_server
[root@opop01 zabbix-3.4.2]# chmod +x /etc/init.d/zabbix_agentd
[root@opop01 zabbix-3.4.2]# ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/
[root@opop01 zabbix-3.4.2]# ln -s /usr/local/zabbix/bin/* /usr/local/bin/
[root@opop01 zabbix-3.4.2]# service zabbix_server start { stop | restart }
Zabbix server started.
[root@opop01 zabbix-3.4.2]# service zabbix_agentd restart
Zabbix agent started.
[root@opop01 zabbix-3.4.2]# service httpd restart
打开网页输入:192.168.0.223/zabbix--->>Next step---->>Database type(mysql)、Database host(localhost)、Database type(0也就代表默认,也就是3306)、Database name(就是在数据库中创建的zabbix)、user(mysql中授权的zabbix用户)、Password(手动输入123456即可,也就是授权zabbix时的那个密码)
Next step <<---->>Host(我这里写的是服务端的IP[上面会有提示看着写就行]Port(10051)、Name(可自定义,也就是待会web启动起来后右上角显示的名字)
Next step <<---->>这里会对刚才的配置做一个总结---->>
Next step <<---->>提示“Congratulations! You have successfully installed Zabbix frontend.”即表示成功---->>Finish
Username : admin
Password : zabbix
##############################################################################################################################
点击第一个Next step后出现的问题:
PHP bcmath off Fail
PHP LDAP off Warning
解决:
[root@opop01 zabbix-3.4.2]# yum install *bcmath* --skip-broken
[root@opop01 zabbix-3.4.2]# yum -y install php-ldap
[root@opop01 zabbix-3.4.2]# service zabbix_server restart
[root@opop01 zabbix-3.4.2]# service httpd restart
确保点击第一个Next step后显示都是OK的状态方可进行下一步
##############################################################################################################################
进来web页面后看下右下角的Status of Zabbix中的Zabbix server is running 是否为Yes
将英文改成中文:
点击web页面右上角的小人头像Language中选中Chinaese(zh_CN)---->>update即可
打开监控本机:
配置---->>主机---->>选中本地主机---->>启用即可
添加主机
配置---->>主机---->>右上角“创建主机”---->>主机名就是客户端的配置文件中的Hostname的名字--->>可见的名称随便写---->>群组写“linux server”--->>agent代理程序的接口ip地址写客户端的IP地址---->>>更新即可
中文乱码问题的解决:
Win+R打开运行,输入fonts,回车进入Windows字体目录,找到微软雅黑-常规字体,复制出来将文件名修改为msyh.ttf,然后上传到/var/www/html/zabbix/fonts
上传成功后编辑
[root@opop01 ~]# vim /var/www/html/zabbix/include/defines.inc.php
........... 省略一部分 大约在47行上下 ..............
原样:
define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans'); // font file name
修改为:
define('ZBX_GRAPH_FONT_NAME', 'msyh'); // font file name
修改完以后web页面上刷新一下即可
以上全在zabbix_server端完成的......
客户端安装:(被监控端安装)
关闭防火墙和selinux:
[root@opop2 ~]# systemctl stop firewalld.service
[root@opop2 ~]# systemctl disable firewalld.service
[root@opop2 ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
[root@opop2 ~]# vim /etc/hosts
192.168.0.223 opop01
192.168.0.224 opop2
创建zabbix用户和组:
[root@opop2 ~]# groupadd zabbix
[root@opop2 ~]# useradd -g zabbix -s /sbin/nologin zabbix
[root@opop2 ~]# yum -y install gcc vim lrzsz
[root@opop2 ~]# vi /etc/services #添加zabbix服务对应的端口,默认services文档中已添加
zabbix-agent 10050/tcp # Zabbix Agent
zabbix-agent 10050/udp # Zabbix Agent
zabbix-trapper 10051/tcp # Zabbix Trapper
zabbix-trapper 10051/udp # Zabbix Trapper
[root@opop2 ~]# mkdir /opop
[root@opop2 ~]# cd /opop
[root@opop2 opop]# tar -zxvf zabbix-3.4.2.tar.gz #该包是从服务端scp发过来的
[root@opop2 opop]# cd zabbix-3.4.2
[root@opop2 zabbix-3.4.2]# ./configure --prefix=/usr/local/zabbix --enable-agent
###############################################################################################################################
问题:
checking for libpcre support... no
configure: error: Unable to use libpcre (libpcre check failed)
解决:
[root@opop2 zabbix-3.4.2]# yum -y install pcre*
再次执行./configure --prefix=/usr/local/zabbix --enable-agent即可
###############################################################################################################################
[root@opop2 zabbix-3.4.2]# make install
[root@opop2 zabbix-3.4.2]# ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/
[root@opop2 zabbix-3.4.2]# ln -s /usr/local/zabbix/bin/* /usr/local/bin/
修改zabbix_agent.conf:
[root@opop01 zabbix-3.4.2]# vim /usr/local/zabbix/etc/zabbix_agentd.conf
PidFile=/tmp/zabbix_agentd.pid
LogFile=/tmp/zabbix_agentd.log
LogFileSize=0
Server=192.168.0.223 #服务端的地址,用于被动模式,数据获取
ListenPort=10050
### ServerActive=192.168.0.223 #注释掉该行,该行用于主动模式,数据提交
Hostname=kkkk #重点!!!!!
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/ #加一个zabbix
注:
Hostname=kkkk, 这个名字自定义也可,只要保证在web页面上添加主机时和这里Hostname的名字一致即可,要不zabbix server不能识别到zabbix agent
[root@opop2 zabbix-3.4.2]# cp misc/init.d/fedora/core/zabbix_agentd /etc/rc.d/init.d/zabbix_agentd
[root@opop2 zabbix-3.4.2]# chown zabbix:zabbix /etc/rc.d/init.d/zabbix_agentd
[root@opop2 zabbix-3.4.2]# chmod +x /etc/rc.d/init.d/zabbix_agentd
[root@opop2 zabbix-3.4.2]# vi /etc/rc.d/init.d/zabbix_agentd
BASEDIR=/usr/local/zabbix/ #编辑客户端启动脚本中zabbix的安装目录
[root@opop2 zabbix-3.4.2]# chkconfig --level 35 zabbix_agentd on
[root@opop2 zabbix-3.4.2]# service zabbix_agentd start
Starting zabbix_agentd (via systemctl): [ 确定 ]
截至现在就搭好了。打开浏览器输入192.168.0.223/zabbix添加主机吧
Zabbix 3.4.2 install && Configuration的更多相关文章
- etcd install & configuration
目录 概述 先决条件 相关术语 ETCD 部署 源码安装 其他方式 安装报错 配置文件详解 etcdctl 使用 日志独立 概述 etcd 是兼具一致性和高可用性的键值数据库,为云原生架构中重要的基础 ...
- zabbix 3.0.3 (nginx)安装过程中的问题排错记录
特殊注明:安装zabbix 2.4.8和2.4.6遇到2个问题,如下:找了很多解决办法,实在无解,只能换版本,尝试换(2.2.2正常 | 3.0.3正常)都正常,最后决定换3.0.3 1.Error ...
- Centos 源码安装zabbix 2.4.5
Zabbix简介 Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.zabbix能监视各种网络参数,保证服务器系统 的安全运营:并提供柔软的通知机制以让系统管 ...
- 编译安装zabbix 3.0及分开部署配置详解
实验系统:CentOS 6.6_x86_64 实验前提:提前准备好编译环境,防火墙和selinux都关闭 实验说明:本实验共有4台主机,IP及角色分配如拓扑 下载地址:试验中用到mariadb软件的下 ...
- zabbix监控系列(2)之zabbix-agent安装
zabbix-agent的安装不用LAMP的支持,所以直接源码安装,make两下,改下配置文件即可,改完后可以把源码包直接压缩打包就可以给其他agent用了,可谓,一次编译,多台使用. NO1.解包压 ...
- install zabbix-agent on CENTOS
in ubuntu--https://www.digitalocean.com/community/tutorials/how-to-install-zabbix-on-ubuntu-configur ...
- 【Linux】Zabbix + MPM + msmtp + mutt 监控MySQL + 邮件报警
Zabbix部署参考博文 http://blog.sina.com.cn/s/blog_5611597901017oe0.html MPM安装配置参考博文和MPM官网下载地址 http://blog ...
- [原创] zabbix学习之旅三:agent安装
部署完zabbix server后,自然要部署zabbix agent.在官方描述中,agent是部署在被监控的机器上,用于采集CPU.内存.磁盘等统计信息,并上报给server用于进一步处理.age ...
- ZABBIX安装官方指南
慢慢,把这块业务要玩熟悉~~~~事前,事中,事后,它都能发挥自己的一些作用. From Zabbix official repository Zabbix SIA provides official ...
随机推荐
- opencv学习系列:连通域参考处理
OpenCV里提取目标轮廓的函数是findContours,它的输入图像是一幅二值图像,输出的是每一个连通区域的轮廓点的集合:vector<vector<Point>>. 外层 ...
- 【工具相关】Web-ionic-ionicLab的使用
一,下载地址为:http://lab.ionic.io/,下载后直接安装即可.图标如下图所示: 二,打开ionicLab,如下图所示: 三,打开一个已有的文件,File-->Open Exist ...
- CentOS7 下源码安装 python3
CentOS 7 下源码安装 python3 在CentOS7下,默认安装的是python2.7:为满足项目要求,安装python3 的方法如下: 1. 首先安装python3.6可能使用的依 ...
- How to deploy kotlin in androidstudio?
Kotlin is a good language,more playable than Java.So how do we deploy kotlin? First,install the kotl ...
- JVM vs DVM
- Expo大作战(三十七)--expo sdk api之 GLView,GestureHandler,Font,Fingerprint,DeviceMotion,Brightness
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- CRM原型
https://files.cnblogs.com/files/wcLT/CRM.zip
- pymongo的用法
先看一下官方给出的简单例子,涵盖了大部分内容: >>> import pymongo >>> client = pymongo.MongoClient(" ...
- python第六天 函数 python标准库实例大全
今天学习第一模块的最后一课课程--函数: python的第一个函数: 1 def func1(): 2 print('第一个函数') 3 return 0 4 func1() 1 同时返回多种类型时, ...
- 成功清除 windows2008 内部版本7601 字眼
cmd—>bcdedit -set testsigning off重启电脑就好了