centos7之zabbix3.2搭建
环境介绍:
centos7.4
zabbix3.2
一、zabbix介绍
zabbix官网:https://www.zabbix.com/
zabbix下载页面:https://www.zabbix.com/download
zabbix rpm包下载页面:http://repo.zabbix.com/zabbix/
1.1 zabbix简介
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运行;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由2部分构成,zabbix server与可选组件zabbix agent。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。
1.2 zabbix的组件
zabbix由以下几个组件部分构成:
Zabbix Server:负责接收agent发送的报告信息的核心组件,所有配置,统计数据及操作数据均由其组织进行。
Database Storage:专用于存储所有配置信息,以及由zabbix收集的数据。
Web interface:zabbix的GUI接口,通常与Server运行在同一台主机上。
Proxy:可选组件,常用于分布监控环境中,代理Server收集部分被监控端的监控数据并统一发往Server端(实现分布式监控专用组件非必要组件,被监控服务器过多或者跨机房可以使用此组件。)
Agent:部署在被监控主机上,负责收集本地数据并发往Server端或Proxy端。
1.3 zabbix监控环境中相关术语
主机(host):要监控的网络设备,可由IP或DNS名称指定
主机组(host group):主机的逻辑容器,可以包含主机和模板,但同一个组织内的主机和模板不能互相链接;主机组通常在给用户或用户组指派监控权限时使用
监控项(item):一个特定监控指标的相关的数据;这些数据来自于被监控对象;item是zabbix进行数据收集的核心,相对某个监控对象,每个item都由"key"标识
触发器(trigger):一个表达式,用于评估某监控对象的特定item内接收到的数据是否在合理范围内,也就是阈值;接收的数据量大于阈值时,触发器状态将从"OK"转变为"Problem",当数据再次恢复到合理范围,又转变为"OK"
事件(event):触发一个值得关注的事情,比如触发器状态转变,新的agent或重新上线的agent的自动注册等
动作(action):指对于特定事件事先定义的处理方法,如发送通知,何时执行操作
报警升级(escalation):发送警报或者执行远程命令的自定义方案,如每隔5分钟发送一次警报,共发送5次等
媒介(media):发送通知的手段或者通道,如Email、Jabber或者SMS等
通知(notification):通过选定的媒介向用户发送的有关某事件的信息
远程命令(remote command):预定义的命令,可在被监控主机处于某特定条件下时自动执行
模板(template):用于快速定义被监控主机的预设条目集合,通常包含了item、trigger、graph、screen、application以及low-level discovery rule;模板可以直接链接至某个主机
应用(application):一组item的集合
web场景(web scennario):用于检测web站点可用性的一个或多个HTTP请求
前端(frontend):Zabbix的web接口
二、安装zabbix
#准备环境
#yum install -y gcc gcc-c++ vim wget
安装mariadb10.1数据库
注意:默认centos7装的是mariadb5.x版本,我们这里要安装最新的稳定版。
vi /etc/yum.repos.d/MariaDB.repo
添加如下内容(注意,这里你也可以选择其他的版本,直接改数字就行)
[mariadb]
name = MariaDB
baseurl = http://mirrors.aliyun.com/mariadb/yum/10.1/centos7-amd64/
gpgkey = http://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1
yum clean all
yum -y install MariaDB-server MariaDB-client mysql-devel
更改数据库配置文件
cat /etc/my.cnf
#
# This group is read both both by the client and the server
# use it for options that affect everything
#
[mysqld]
datadir=/var/lib/mysql/
socket=/var/lib/mysql/mysql.sock
pid_file=/var/lib/mysql/mariadb.pid [mysql]
host=localhost
user=zabbix
password=zabbix
socket=/var/lib/mysql/mysql.sock [mysqladmin]
host=localhost
user=zabbix
password=zabbix
socket=/var/lib/mysql/mysql.sock [client-server] [mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid #
# include all files from the config directory
#
!includedir /etc/my.cnf.d
my.cnf
安装完成MariaDB,首先启动MariaDB
systemctl start mariadb
设置开机启动
systemctl enable mariadb
1、yum安装必要的环境
yum install -y httpd php php-devel php-pear php-xmlrpc php-bcmath httpd-manual mod_ssl php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc php-bcmath libdbi-dbd-mysql net-snmp-devel curl-devel unixODBC-devel OpenIPMI-devel java-devel php-mysql.x86_64
yum install -y libssh2-devel openldap openldap-devel net-snmp-devel
2、配置php环境
sed -i "s/;date.timezone =/date.timezone = Asia\/Shanghai/g" /etc/php.ini
sed -i "s#max_execution_time = 30#max_execution_time = 300#g" /etc/php.ini
sed -i "s#post_max_size = 8M#post_max_size = 32M#g" /etc/php.ini
sed -i "s#max_input_time = 60#max_input_time = 300#g" /etc/php.ini
sed -i "s#memory_limit = 128M#memory_limit = 128M#g" /etc/php.ini
sed -i "s/;mbstring.func_overload = 0/mbstring.func_overload = 0\n/" /etc/php.ini
3、安装zabbix
# wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.2.6/zabbix-3.2.6.tar.gz # groupadd zabbix -g 201
# useradd -g zabbix -u 201 -m zabbix # tar zxf zabbix-3.2.6.tar.gz
#cd zabbix-3.2.6
# ./configure --prefix=/usr/local/zabbix-3.2.6 --sysconfdir=/etc/zabbix --enable-server --enable-proxy --enable-agent --enable-ipv6 --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl --with-openipmi --with-unixodbc --with-ldap --with-snmp --with-ssh2 --enable-java
# make install
# ln -s /usr/local/zabbix-3.2.6 /usr/local/zabbix
4、导入zabbix数据库
systemctl start mariadb.service
mysqladmin -uroot password '123456' mysql -uroot -p123456 -e 'create database zabbix character set utf8;'
mysql -uroot -p123456 -e "grant all privileges on zabbix.* to zabbix@'localhost' identified by 'zabbix';" mysql -uroot -p123456 -e "flush privileges;" mysql -uzabbix -pzabbix zabbix </root/zabbix-3.2.6/database/mysql/schema.sql mysql -uzabbix -pzabbix zabbix </root/zabbix-3.2.6/database/mysql/images.sql mysql -uzabbix -pzabbix zabbix </root/zabbix-3.2.6/database/mysql/data.sql
4.5、拷贝启动脚本并配置
cp /root/zabbix-3.2.6/misc/init.d/fedora/core/zabbix_* /etc/init.d/
sed -i "s#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#" /etc/init.d/zabbix_server
sed -i "s#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#" /etc/init.d/zabbix_agentd
5、copy启动配置文件并配置
# cat /etc/zabbix/zabbix_server.conf|grep -v "^#"|grep -v "^$" #简单配置一下,主要是配置连接数据库的账号和密码
LogFile=/var/zabbix/zabbix_server.log
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
ListenIP=127.0.0.1
# mkdir /var/zabbix
# chown zabbix:zabbix /var/zabbix/
7、拷贝网页文件到web站点目录下
cp -r /root/zabbix-3.2.6/frontends/php /var/www/html/zabbix
chown apache:apache /var/www/html/zabbix/conf #此目录下,程序要创建一个php,当然不授权的话,等到安装到哪部,下载下php文件也可以。
注意事项:
# setenforce
# systemctl start httpd
# systemctl enable httpd
# systemctl enable mariadb
8、通过web也设置zabbix(http://192.168.1.238/zabbix/)
完成安装
启动zabbix服务端和agentd端(因为zabbix默认会监控自己,所以服务器已经安装agent)
启动服务
/etc/init.d/zabbix_server start
/etc/init.d/zabbix_agentd start 开机自启
# chkconfig zabbix_server on
# chkconfig zabbix_agentd on
9、因为默认web端是使用的英文显示,所以我们首先要改成中文。
从上面看,我们已经完成了汉化,但是zabbix的图形还是乱码的。
解决办法:
进入到本地windos目录下:C:\Windows\Fonts(以微软雅黑msyh.ttf为例)。
将windows端的msyh.ttf文件上传到服务器端的/var/www/html/zabbix/fonts目录中。
还差一步,我们需要更改zabbix的配置文件中,指定让它使用我们上传的字体。
vim /var/www/html/zabbix/include/defines.inc.php +45
define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans'); 替换为:define('ZBX_GRAPH_FONT_NAME', 'msyh'); #就是DejaVuSans替换为msyh
刷新一下页面,字体就正常了。
三、客户端的安装(agent)
Linux:
1、准备环境(关闭firewalld、selinux、iptables)
yum install -y gcc gcc-c++ vim wget lrzsz
2、下载安装
wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.2.6/zabbix-3.2.6.tar.gz
创建zabbix用户和组,编译安装。
# groupadd zabbix -g 201
# useradd -g zabbix -u 201 -m zabbix
# tar zxf zabbix-3.2.6.tar.gz
# cd zabbix-3.2.6 # ./configure --prefix=/usr/local/zabbix-3.2.6 --sysconfdir=/etc/zabbix --enable-agent # make
# make install
# ln -s /usr/local/zabbix-3.2.6 /usr/local/zabbix
创建启动文件和修改agentd客户端配置文件,指向zabbix服务器。
# cp /root/zabbix-3.2.6/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
# sed -i "s#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#" /etc/init.d/zabbix_agentd # vim /etc/zabbix/zabbix_agentd.conf #就先修改一个地方,让Server端指向zabbix_server的IP地址
Server=192.168.1.103
# /etc/init.d/zabbix_agentd restart
开机自启动
chkconfig zabbix_agentd on
3、进入zabbix服务器,添加linux客户端。
配置==》主机群组==》创建主机群组(web页面右上角)==》添加组名,如Linux_Server
配置==》主机==》创建主机(web页面右上角),这里需要添加主机和模板。
主机:
模板:
选择我们刚才创建的Linux_Server群组,因为我们给这个群组就添加了一个linux的监控项,所以直接选他就行。
至此linux客户端的添加基本完成。
Windows客户端:
1、下载win客户端。https://www.zabbix.com/download_agents
2、关闭监控主机windows server 2008防火墙或防火墙入放行zabbix_agentd客户端口号 10050 (TPC/UDP)。
3、下载后解压zabbix_agents_3.2.0.win.zip 压缩包,里面有两个文件夹,一个是bin文件夹,另一个是conf文件夹。
Bin文件夹里面有两个文件夹,一个是win32文件夹里存放zabbix_agentd安装程序应用于windows 32位操作系统,
一个是win64文件夹里存放zabbix_agentd安装程序应用于windows 64位操作系统。
Conf文件夹里存放是配置文件zabbix_agentd.win.conf
4、在windows server 2008 操作系统 C盘目录下创建一个zabbix文件夹,把刚下载的zabbix_agentd压缩包里的win64位文件夹的zabbix_agentd.exe、zabbix_get.exe、zabbix_sender.exe、dev文件夹复制到zabbix文件夹里
安装程序和conf文件夹zabbix_agentd.win.conf复制到windows server 2008操作系统C盘创建的zabbix文件夹里。(文件夹创建路径可以自定义,
但后面zabbix_agentd客户端运行安装命令需要根据创建的路径运行)
这里我们以win10x64为例
5、右键以文本格式编辑zabbix_agentd.win.conf 配置文件。
修改下面几项:
EnableRemoteCommands= #允许在本地执行远程命令
LogRemoteCommands= #执行远程命令是否保存操作日志
Server = 192.168.1.2238 #填写zabbix服务器IP地址
Hostname=wintest01 #zabbix_agent客户端计算机名 (被监控主机)
6、开始搜索"运行",以管理员方式运行,cmd进入。
#安装zabbix客户端
C:\zabbix\zabbix_agentd.exe -i -c C:\zabbix\zabbix_agentd.win.conf #启动zabbix服务
C:\zabbix\zabbix_agentd.exe -s -c C:\zabbix\zabbix_agentd.win.conf
这里别忘记设置自动启动,手动启动就麻烦了。
删除客户端操作:
C:\zabbix\zabbix_agentd.exe -d -c C:\zabbix\zabbix_agentd.win.conf
7、服务端操作。
创建windows群组。
创建windows主机。
总结:
上面我们添加的windows和linux已经监控成功。
参考与:
http://www.51niux.com/?id=146
https://www.cnblogs.com/zoulongbin/p/6395047.html
centos7之zabbix3.2搭建的更多相关文章
- centos7安装zabbix3.0超详细步骤解析
centos7安装zabbix3.0超详细步骤解析 很详细,感谢作者 以下是我操作的history 622 java -version 623 javac -version 624 grep SELI ...
- centos7+nginx+rtmp+ffmpeg搭建流媒体服务器(保存流目录与http目录不要随意配置,否则有权限问题)
搭建nginx-http-flv-module升级代替rtmp模块,详情:https://github.com/winshining/nginx-http-flv-module/blob/master ...
- Centos7下Zabbix3.4至Zabbix4.0的升级步骤
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 Centos7下Zabbix3.4至Zabbix4.0的升级步骤 查看现在centos版本和zab ...
- centos7下git服务器端搭建
git的安装: yum 源仓库里的 Git 版本更新不及时,最新版本的 Git 是 1.8.3.1,但是官方最新版本已经到了 2.9.2.想要安装最新版本的的 Git,只能下载源码进行安装. 1. 查 ...
- centos7下git服务器端搭建(转)
git的安装: yum 源仓库里的 Git 版本更新不及时,最新版本的 Git 是 1.8.3.1,但是官方最新版本已经到了 2.9.2.想要安装最新版本的的 Git,只能下载源码进行安装. 1. 查 ...
- centos7.3使用squid搭建代理服务器
centos7.3使用squid搭建代理服务器 1 安装 yum install squid 2 编辑 vi /etc/squid/squid.conf 3 设置 最底部增加 如下http_acces ...
- centos7.6_x86_64使用Squid搭建代理服务器让windows上网
centos7.6_x86_64使用Squid搭建代理服务器让windows上网 windows机器很多站点访问受限,可以在没有限制外网的机器上面搭建代理服务器,其它电脑可以配置代理通过这台不受限制的 ...
- 【MIT6.828】centos7下使用Qemu搭建xv6运行环境
title:[MIT6.828]centos7下使用Qemu搭建xv6运行环境 date: "2020-05-05" [MIT6.828]centos7下搭建xv6运行环境 1. ...
- Centos7 Samba共享服务搭建
Centos7 Samba共享服务搭建 1.安装启动和端口 ---------------------------------------------------------------------- ...
随机推荐
- [PHP] 邮件发送mail()函数失败问题 sendmail命令与postfix
1. php的mail()函数是可以发送邮件的 , 但是一直就没有测试成功过 , 现在总结一下原因 : php的mail函数 基于sendmail命令来发送 , sendmail命令需要安装postf ...
- [日常] imap协议读取邮件
telnet imap.sina.net 143 A01 LOGIN shihan@appdev.sinanet.com 密码 A02 list "" * //列出邮件夹 * LI ...
- GNOME图形界面的基本操作
成功登录进入CentOS系统之后,我们首先看到的桌面就是GNOME图形界面,下面来看一下相关的基本操作. 个性化设置 1,设置屏幕分辨率 进入菜单 2,更换桌面背景 进入下面菜单. 选择一张背景图片, ...
- 总结Linux下的软件安装
安装软件的最佳实践 虽然我们知道Linux下安装软件有三种方式,分别是源代码安装,rpm包安装和yum安装,但是从可控性和结合自己目前的水平来说,优先选择以下两种方式安装程序. 1,使用rpm包安装 ...
- JS的arguments
arguments对象:当前函数内置的全局属性,表示当前函数的所有参数的集合可以用来检测函数实参的个数 使用环境:当函数的参数个数无法确定时,使用arguments 写一个函数输出arguments看 ...
- 微信小程序--页面的生命周期和参数传递
页面跳转: 1.函数 点击事件设置bindtap然后在本页面 js 设置函数 redirectTo:关闭当前页,跳转到指定页: ( unload) navigateTo:保留当前页,跳转到指定页: ...
- XSS 漏洞介绍
概念: XSS 攻击:跨站脚本攻击 (Cross Site Scripting),为不和层叠样式表 (Cascading Style Sheets, CSS) 的缩写混淆.故将跨站脚本攻击缩写为 XS ...
- java之日志管理
一. 为什么要使用日志 二. 常见日志框架介绍 三. Logback+SLF4J实战 四. 项目源码下载 五. 参考文章 一. 为什么要使用日志 1. 对IT安全至关重要 当您使用强大的日志管 ...
- Kubernetes 集群日志管理 - 每天5分钟玩转 Docker 容器技术(180)
Kubernetes 开发了一个 Elasticsearch 附加组件来实现集群的日志管理.这是一个 Elasticsearch.Fluentd 和 Kibana 的组合.Elasticsearch ...
- Integer a= 127 与 Integer b = 128相关
Integer a = 127; Integer b = 127; Integer c = 128; Integer d = 128; a == b 与 c == d 的比较结果是什么? a == b ...