Zabbix监控搭建
Zabbix概述
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案 ( 基于 GPL V2 )zabbix由 2 部分构成,zabbix server与可选组件zabbix agent
进程构成
zabbix 安装完成后会产生 5 个程序:zabbix_agentd、zabbix_get、zabbix_proxy、zabbix_sender、zabbix_server,zabbix_java_gateway是可选,这个需要另外安装
<1> zabbix_agentd
客户端守护进程,此进程收集客户端数据,例如 cpu负载、内存、硬盘使用情况等
<2> zabbix_get
zabbix工具,单独使用的命令,通常用于排错
<3> zabbix_sender
zabbix工具,用于发送数据给 server 或者 proxy ,在脚本完成之后使用 sender 主动将数据提交
<4> zabbix_server
zabbix 服务端守护进程,所有的数据都是被提交或主动提交到 zabbix_server 端
<5> zabbix_proxy
zabbix代理守护进程。功能类似server,唯一不同的是它只是一个中转站,它需要把收集到的数据提交/被提交到server里
<6> zabbix_java_gateway
zabbix2.0之后引入的一个功能。顾名思义:Java网关,类似agentd,但是只用于Java方面。需要特别注意的是,它只能主动去获取数据,而不能被动获取数据。它的数据最终会给到server或者proxy
硬件需求
| Name | Platform | CPU/Mem | Databases | Monitored host |
|---|---|---|---|---|
| Small | Ubuntu linux | PII 350Mhz 256Mb | SQLite | 20 |
| Medium | Ubuntu linux 64 bit | AMD Athlon 3200+ 2GB | MySQL InnoDB | 500 |
| Large | Ubuntu linux 64 bit | Intel Dual Core 6400 4GB | RAID10 MySQL InnoDB or PostgreSQL | >1000 |
| very | RedHat Enterprise | Intel Xeon 2xCPU 8GB | Fast RAID10 MySQL InnoDB or PostgreSQL | >10000 |
Zabbix搭建,使用CentOS 7搭建
一、初始化系统设置
# systemctl stop firewalld
# systemctl disable firewalld
# setenforce 0
# sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
二、安装 LAMP环境
# cd /etc/yum.repos.d/
# wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
# yum clean all && yum makecache //清空缓存并建立元数据
# yum -y install mariadb mariadb-server httpd php php-mysql
# systemctl enable httpd && systemctl restart httpd //添加开机自启并重启服务
# systemctl enable mariadb && systemctl restart mariadb //添加开机自启并重启服务
# mysql_secure_installation //初始化数据库,全部回答“y”
# systemctl is-enabled mariadb //查询是否开机自启
三、安装 Zabbix 程序,以下需联网安装,光盘yum源没有安装包。
# rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent
配置初始数据库:
# mysql -u root -p
> CREATE DATABASE zabbix DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
> exit
导入数据库
# cd /usr/share/doc/zabbix-server-mysql-3.2.11
# zcat create.sql.gz | mysql -uroot -p zabbix 导入数据库
启动 Zabbix 服务
# vim /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
# systemctl enable zabbix-server && systemctl start zabbix-server
编辑 zabbix 前端 php 配置
# vim /etc/httpd/conf.d/zabbix.conf
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 always_populate_raw_post_data -1
php_value date.timezone Asia/Shanghai
调整时间同步
# yum -y install ntpdate
# ntpdate cn.pool.ntp.org
# systemctl restart httpd //重启 Apache 服务生效
四、修改中文乱码问题
Win+R > fonts > 拷贝中文字体改名为 msyh.ttf >
将字体拷贝到该目录下 /usr/share/zabbix/fonts
[root@localhost ~]# vim /usr/share/zabbix/include/defines.inc.php
修改 zabbix php 页面配置,将'graphfont' 修改为 msyh
define('ZBX_GRAPH_FONT_NAME', 'msyh');
五、添加客户端
linux配置
导入安装包
(CentOS 7)zabbix-agent-3.2.1-1.el7.x86_64.rpm
(CentOS 6)zabbix-agent-3.2.6-1.el6.x86_64.rpm
# yum –y install zabbix-agent-3.2.1-1.el7.x86_64.rpm
# vim /etc/zabbix/zabbix_agentd.conf
LogFile=/tmp/zabbix_agentd.log
Server=10.10.10.11 //zabbix服务器ip
ServerActive=10.10.10.11 //zabbix服务器ip
Hostname=10.10.10.11 //自己的ip
# systemctl enable zabbix-agent && systemctl restart zabbix-agent //CentOS-7
# chkconfig zabbix-agent on && service zabbix-agent start //CentOS-6.8
Windows端配置
将bin和conf目录放在C:\zabbix中
修改C:\zabbix\conf\zabbix_agentd.conf配置文件下面三项
LogFile=/tmp/zabbix_agentd.log
Server=10.10.10.11 //zabbix服务器ip
ServerActive=10.10.10.11 //zabbix服务器ip
Hostname=10.10.10.111 //自己的ip
c:\zabbix\bin\win64\zabbix_agentd.exe -c c:\zabbix\conf\zabbix_agentd.win.conf -i //将进程添加到服务管理
c:\zabbix\bin\win64\zabbix_agentd.exe -c c:\zabbix\conf\zabbix_agentd.win.conf -s //开启服务
六、浏览器端配置
1、 添加监控主机
配置 | 主机 | 创建主机 | 模板 | 选择模板 | 添加模板 | 添加主机
添加模板时,一般默认必须选择以下2项
Template ICMP Ping
Template OS Linux
2、 配置监控 Nginx 并发量脚本(自定义脚本)
一、编译安装Nginx,开启 Nginx status 状态信息
# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
# make && make install
添加监控模块
# vim /usr/local/nginx/conf/nginx.conf
location /xabbix {
stub_status on;
}
二、Zabbix 客户端配置
1、编写客户机端脚本 nginx_stats.sh
[root@localhost ~]# vim /etc/zabbix/zabbix_agentd.d/nginx_stats.sh
#!/bin/bash
# Description:zabbix监控nginx性能以及进程状态
# Note:此脚本需要配置在被监控端,否则ping检测将会得到不符合预期的结果
HOST="127.0.0.1"
PORT="80"
# 检测nginx进程是否存在
function ping {
/sbin/pidof nginx | wc -l
}
# 检测nginx性能
function active {
/usr/bin/curl "http://$HOST:$PORT/xabbix/" 2>/dev/null| grep 'Active' | awk '{print $NF}'
}
function reading {
/usr/bin/curl "http://$HOST:$PORT/xabbix/" 2>/dev/null| grep 'Reading' | awk '{print $2}'
}
function writing {
/usr/bin/curl "http://$HOST:$PORT/xabbix/" 2>/dev/null| grep 'Writing' | awk '{print $4}'
}
function waiting {
/usr/bin/curl "http://$HOST:$PORT/xabbix/" 2>/dev/null| grep 'Waiting' | awk '{print $6}'
}
function accepts {
/usr/bin/curl "http://$HOST:$PORT/xabbix/" 2>/dev/null| awk NR==3 | awk '{print $1}'
}
function handled {
/usr/bin/curl "http://$HOST:$PORT/xabbix/" 2>/dev/null| awk NR==3 | awk '{print $2}'
}
function requests {
/usr/bin/curl "http://$HOST:$PORT/xabbix/" 2>/dev/null| awk NR==3 | awk '{print $3}'
}
# 执行function
$1
2、在客户机将自定义的UserParameter加入配置文件,然后重启agentd
将脚本存在该目录下 : /etc/zabbix/zabbix_agentd.d,修改UserParameter的值
# vim /etc/zabbix/zabbix_agentd.conf
UserParameter=nginx.status[*],/etc/zabbix/zabbix_agentd.d/nginx_stats.sh $1
# killall zabbix_agentd
# /etc/init.d/zabbix-agent restart
3、在服务器使用zabbix_get获取数据
rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-get-3.2.11-1.el7.x86_64.rpm
# zabbix_get -s 10.10.10.11 -k 'nginx.status[accepts]'
# zabbix_get -s 10.10.10.11 -k 'nginx.status[ping]'
4、浏览器配置Nginx 服务器并添加 Nginx 监控模板
浏览器操作
- 配置 | 模板 | 导入 | 选择文件 | 导入
- 配置 | 主机 | 创建主机 | 模板 | 选择模板 | 添加模板 | 添加主机
添加模板时,一般默认必须选择以下2项
Template ICMP Ping
Template OS Linux
Template App NGINX 选择刚才导入的模板
3、 链接钉钉报警
a、添加钉钉机器人,复制出机器码
b 、Zabbix 配置文件中查找”Alert”查看告警脚本存放路径:
[root@localhost ~]# vim /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts
c、进入配置中路径创建配置文件:
[root@localhost ~]# cd /usr/lib/zabbix/alertscripts/
[root@localhost alertscripts]# vim token.sh
#!/bin/bash
to=$1
subject=$2
text=$3
curl '****钉钉机器码填在此处*******' \
-H 'Content-Type: application/json' \
-d '
{"msgtype": "text",
"text": {
"content": "'"$text"'"
},
"at":{
"atMobiles": [ "'"$1"'" ],
"isAtAll": false
}
}'
d、修改权限
[root@localhost alertscripts]# chown zabbix.zabbix token.sh
[root@localhost alertscripts]# chmod +x token.sh
e、配置浏览器端
管理 | 报警媒介类型 | 创建媒介类型····
配置 | 动作 | 事件源[触发器] 创建动作 ·····
管理 | 用户 | admin | 报警媒介 | 添加 | 收件人填电话 | 填加
Zabbix监控搭建的更多相关文章
- Zabbix 监控搭建
Zabbix官网地址:https://www.zabbix.com/download 1.服务端 1.操作前安装好Mysql数据库 配置yum源,安装部署Zabbix rpm -i http://re ...
- Zabbix监控基础
1. 安装前准备 setenforce 0 sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config ...
- zabbix监控报错zabbix server is not running: the information displayed may not be current
zabbix监控搭建完后打开web界面http://xxx/zabbix报错: zabbix server is not running: the information displayed may ...
- zabbix监控远端主机
接着上一篇博客,zabbix监控搭建起来以后,怎么用来监控其他主机呢,这一篇就来简单讲一下,希望对大家有所帮助. 安装一些依赖包 [root@winter ~]# yum install curl c ...
- LNMP+zabbix分布式监控搭建及版本升级
LNMP+zabbix分布式监控搭建需要组件:gcc gcc-c++ openssl* pcre pcre-devel gd gd-devel libjpeg-devel libpng-devel l ...
- 总zabbix配置-搭建-邮件报警-微信报警-监控mysql
Centos7安装Zabbix4.0步骤 官方搭建zabbix4.0的环境要求: 1. 环境搭建LAMP 前提Centos系统安装完成: 确认一下: 1 2 cat /etc/redhat-rele ...
- Linux实战教学笔记49:Zabbix监控平台3.2.4(一)搭建部署与概述
https://www.cnblogs.com/chensiqiqi/p/9162986.html 一,Zabbix架构 zabbix 是一个基于 WEB 界面的提供分布式系统监视以及网络监视功能的企 ...
- Zabbix监控平台3.2.4(一)搭建部署与概述
一,Zabbix架构 zabbix 是一个基于 WEB 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.zabbix 能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制 ...
- CentOS7下搭建zabbix监控(四)——Zabbix报警设置
CentOS7下搭建zabbix监控(一)——Zabbix监控端配置 CentOS7下搭建zabbix监控(二)——Zabbix被监控端配置 CentOS7下搭建zabbix监控(三)——Zabbix ...
随机推荐
- Django框架(十八)—— auth框架:用户登录、注册、认证
目录 auth模块 一.什么是author模块 二.auth模块的使用 1.创建超级用户(create_superuser()) 2.验证用户(authenticate()) 3.登录用户(login ...
- UVA1632_Alibaba
题目链接 大致题意:直线上面有n个点,第i个点坐标为xi,它会在di时间消失,你可以选择从任何位置出发,求访问完所有点的最短时间,无解输出no solution 思路:这有一个难点就是,不知道状态该怎 ...
- 【纯净软件】三款照片EXIF信息删除软件 Clear Exif、JPEG & PNG Stripper、Easy Exif Delete 非专业横向对比
商业软件:需支付费用后方可使用. 共享软件:需支付费用,但可以先免费试用(有使用期限.功能限制). 免费软件:无需支付费用,无使用期限,无功能限制. 纯净软件:无广告.无联网行为的免费软件. 自由软件 ...
- 安装Treserocr遇到的问题
相关链接: tesseract下载地址:http://digi.bib.uni-mannheim.de/tesseract 一.出现的问题 1.点击进去 进行下载 注意:其中文件名中带有dev的为开发 ...
- CTU OPEN 2017 Ice cream samples /// 尺取法
题目大意: 给定n k 接下来n行 给定n个摊位的冰淇淋信息 首先给一个t 表示这个摊位有t个冰淇淋 接下来t个数表示对应冰淇淋的品种 走到连续的几个摊位 会买下走过的摊位的所有的冰淇淋 求 要买下所 ...
- SpringBoot开发详解(五)--Controller接收参数以及参数校验
原文链接:http://blog.csdn.net/qq_31001665 如有侵权,请联系博主删除博客,谢谢 Controller 中注解使用 接受参数的几种传输方式以及几种注解: 在上一篇中,我 ...
- [转载]Ubuntu Server下配置UTF-8中文环境
转载自:http://www.gaojinbo.com/ubuntu-server%E4%B8%8B%E9%85%8D%E7%BD%AEutf-8%E4%B8%AD%E6%96%87%E7%8E%AF ...
- Dubbox服务的消费方配置
在src/main/resources下创建applicationContext-web.xml <?xml version="1.0" encoding="UTF ...
- 转帖 新Eclipse安装与配置
Eclipse的官网地址:http://www.eclipse.org/ 我们下载J2EE版本:Eclipse IDE for Java EE Developers 目前最新版本是:Eclipse K ...
- koa2 使用 async 、await、promise解决异步的问题
koa代码编写上避免了多层的嵌套异步函数调用 async await来解决异步 - async await 需要依赖于promise 三主角: __函数前面 async, 内部才能await,要想aw ...