做隐私的网站,大型网站制作报价,企业培训机构有哪些,wordpress阿里巴巴国际站部署 Zabbix 监控平台 目录 部署 Zabbix 监控平台一、 Zabbix简介Zabbix 特性Zabbix监控功能 二、Zabbix 概述Server数据库Web 界面ProxyAgent数据流Zabbix serverZabbix agentzabbix配置文件 三、部署Zabbix1#xff1a;部署监控服务器1.1安装 LNMP 环境1.2 修改 Nginx 配置文…部署 Zabbix 监控平台 目录 部署 Zabbix 监控平台一、 Zabbix简介Zabbix 特性Zabbix监控功能 二、Zabbix 概述Server数据库Web 界面ProxyAgent数据流Zabbix serverZabbix agentzabbix配置文件 三、部署Zabbix1部署监控服务器1.1安装 LNMP 环境1.2 修改 Nginx 配置文件1.3 启动服务1.4 客户端测试 LNMP 环境 2部署监控服务器 Zabbix Server2.1 源码安装 Zabbix Server2.2 zabbix服务端配置2.3修改 Zabbix_agent 配置文件启动 Zabbix_agent 服务2.4浏览器访问 Zabbix_server 服务器的 Web 页面 3部署被监控主机 Zabbix Agent3.1源码安装 Zabbix agent 软件3.2 修改 agent 配置文件启动 Agent3.3 拷贝启动脚本非必须操作可选做有启动脚本可以方便管理服务启动与关闭服务 4配置及使用 Zabbix 监控系统方案4.1添加监控主机4.2为被监控主机添加监控模板4.3查看监控数据 5自定义 Zabbix 监控项目方案5.1 被监控主机创建自定义 key5.2 创建监控模板5.2.1添加监控模板5.2.2 创建应用5.2.3 创建监控项目 item监控项5.2.4 创建图形5.2.5 将模板链接到被监控主机5.2.6 查看监控数据图形 一、 Zabbix简介
Zabbix 由 Alexei Vladishev 创建目前由其成立的公司—— Zabbix SIA 积极的持续开发更新维护 并为用户提供技术支持服务。 Zabbix 是一个企业级分布式开源监控解决方案。
Zabbix 特性
数据采样通过snmp、ssh、telnet、agent、ipmi、jmx等通道采集被监控主机的数据。可以自定义检测机制和自定义时间间隔 实时绘图展示读取数据绘图支持graphmapscreen幻灯片slide show 告警升级告警规定时间内内解决不了的事情往上传 数据存储数据库有mysqlpgsql时间序列数据库等等
Zabbix监控功能
主机的性能监控、网络设备性能监控、数据库性能监控、多种告警方式、详细的报表图表绘制 监控主机zabbix有专用的agent可以监控LinuxWindowsFreeBSD等 。 监控网络设备zabbix通过SNMPssh(不多用) 可监控对象
设备服务器路由器交换机 软件OS网络应用程序 主机性能指标监控 故障监控 down机服务不可用主机不可达
二、Zabbix 概述
架构 Zabbix 由几个主要的功能组件组成其功能介绍如下所示。
Server
Zabbix server 是 Zabbix软件的核心组件agent 向其报告可用性、系统完整性信息和统计信息。server也是存储所有配置信息、统计信息和操作信息的核心存储库。
数据库
所有配置信息以及 Zabbix 采集到的数据都被存储在数据库中。
Web 界面
为了从任何地方和任何平台轻松访问 Zabbix 我们提供了基于 web 的界面。该界面是 Zabbix server 的一部分通常但不一定和 Zabbix server 运行在同一台物理机器上。
Proxy
Zabbix proxy 可以代替 Zabbix server采集性能和可用性数据。Zabbix proxy在Zabbix的部署是可选部分但是proxy的部署可以很好的分担单个Zabbix server的负载。
Agent
Zabbix agent 部署在被监控目标上用于主动监控本地资源和应用程序并将收集的数据发送给 Zabbix server。
数据流
另外回过头来整体的了解下 Zabbix 内部的数据流对Zabbix的使用也很重要。首先为了创建一个采集数据的监控项您就必须先创建主机。其次在任务的另外一端必须要有监控项才能创建触发器trigger必须要有触发器来创建动作action。因此如果您想要收到类似“X个server上CPU负载过高”这样的告警您必须首先为 Server X 创建一个主机条目其次创建一个用于监控其 CPU的监控项最后创建一个触发器用来触发 CPU负载过高这个动作并将其发送到您的邮箱里。虽然这些步骤看起来很繁琐但是使用模板的话实际操作非常简单。也正是由于这种设计使得 Zabbix 的配置变得更加灵活易用。
Zabbix server
Zabbix软件实现监控的核心程序主要功能是与Zabbix proxies和Agents进行交互、触发器计算、发送告警通知并将数据集中保存等
Zabbix agent
一个部署在监控对象上的能够主动监控本地资源和应用的程序 Zabbix agent部署在监控的目标上主动监测本地的资源和应用(硬件驱动内存处理器统计等)。 Zabbix agent收集本地的操作信息并将数据报告给Zabbix server用于进一步处理。一旦出现异常 (比如硬盘空间已满或者有崩溃的服务进程), Zabbix server会主动警告管理员指定机器上的异常。. Zabbix agents 的极端高效缘于它可以利用本地系统调用来完成统计数据的收集。
zabbix监控系统运行大概流程
zabbix配置文件
zabbix配置文件有两种 服务器端配置文件(/usr/local/etc/zabbix_server.conf) 客户端配置文件(/usr/local/etc/zabbix_agentd.conf) Zabbix代理配置文件(/usr/local/etc/zabbix_proxy.conf)
服务器端配置文件zabbix_server.conf常用配置参数 客户端配置文件zabbix_agentd.conf常用配置参数
三、部署Zabbix
1部署监控服务器
因为zabbix是用php语言开发的所以必须先部署LAMP/LNMP架构使其能够支持运行php网页
1.1安装 LNMP 环境
Zabbix 监控管理控制台需要通过 Web 页面展示出来并且还需要使用 MySQL 来存储数据因此需要先为 Zabbix 准备基础 LNMP 环境。
[rootzabbixserver ~]# yum -y install gcc pcre-devel openssl-devel
[rootzabbixserver ~]# tar -xf nginx-1.12.2.tar.gz
[rootzabbixserver ~]# cd nginx-1.12.2
[rootzabbixserver nginx-1.12.2]# ./configure --with_http_ssl_module
[rootzabbixserver nginx-1.12.2]# make make install
[rootzabbixserver ~]# yum -y install php php-mysql \ mariadb mariadb-devel mariadb-server
[rootzabbixserver ~]# yum -y install php-fpm1.2 修改 Nginx 配置文件
配置 Nginx 支持 PHP 动态网站因为有大量 PHP 脚本需要执行因此还需 要开启 Nginx 的各种 fastcgi 缓存加速 PHP 脚本的执行速度。
[rootzabbixserver ~]# vim /usr/local/nginx/conf/nginx.conf
http{
… …
fastcgi_buffers 8
16k; //缓存 php 生成的页面内容8 个 16k
fastcgi_buffer_size 32k; //缓存 php 生产的头部信息
fastcgi_connect_timeout 300; //连接 PHP 的超时时间
fastcgi_send_timeout 300; //发送请求的超时时间
fastcgi_read_timeout 300; //读取请求的超时时 间
location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi.conf; } … … 1.3 启动服务
启动 Nginx、PHP-FPM、MariaDB 服务关闭 SELinux 与防火墙。
[rootzabbixserver ~]# systemctl start mariadb
[rootzabbixserver ~]# systemctl start php-fpm
[rootzabbixserver ~]# ln -s /usr/local/nginx/sbin/nginx /sbin/nginx
[rootzabbixserver ~]# nginx
[rootzabbixserver ~]# firewall-cmd --set-default-zonetrusted
[rootzabbixserver ~]# setenforce 0 1.4 客户端测试 LNMP 环境
服务器创建 PHP 测试页面浏览器访问页面测试网页连通性。
[rootzabbixserver ~]# cat /usr/local/nginx/html/test.php ?php $i33; echo $i; ?
[rootzabbixserver ~]# curl http://192.168.2.5/test.php2部署监控服务器 Zabbix Server
下载地址https://sourceforge.net/projects/zabbix/
2.1 源码安装 Zabbix Server
多数源码包都是需要依赖包的zabbix 也一样源码编译前需要先安装相关依赖包。
yum -y install net-snmp-devel libevent-devel curl-devel libxml2-devel/下载zabbix
[rootlocalhost ~]# cd /usr/src/
[rootlocalhost src]# wget https:// nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.3/zabbix-4.0.3.tar.gz
下载过程略....第二种方法 下载地址https://sourceforge.net/projects/zabbix/ 将下载来的zabbix-4.4.7.tar.gz上传到服务器上
[rootlocalhost ~]# cd /usr/src/
[rootlocalhost src]# tar zxvf zabbix-4.4.7.tar.gz// 创建zabbix用户和组
[rootlocalhost ~]# groupadd -r zabbix
[rootlocalhost ~]# useradd -r -g zabbix -M -s /sbin/nologin zabbix// 配置zabbix数据库
[rootlocalhost mysql]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.mysql create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
mysql grant all privileges on zabbix.* to zabbixlocalhost identified by zabbix;
Query OK, 0 rows affected, 2 warnings (0.29 sec)
mysql flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql quit
Bye[rootlocalhost ~]# cd /usr/src/zabbix-4.0.3/database/mysql/
[rootlocalhost mysql]# ls
data.sql images.sql schema.sql
[rootlocalhost mysql]# mysql -uzabbix -pzabbix zabbix schema.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
[rootlocalhost mysql]# mysql -uzabbix -pzabbix zabbix images.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
[rootlocalhost mysql]# mysql -uzabbix -pzabbix zabbix data.sql
mysql: [Warning] Using a password on the command line interface can be insecure.// 编译安装zabbix
[rootlocalhost ~]# cd /usr/src/zabbix-4.0.3
[rootlocalhost zabbix-4.0.3 ]# ./configure --enable-server \
--enable-agent \
--enable-proxy \
--with-mysql \
--with-net-snmp \
--with-libcurl \
--with-libxml2 \模块说明--enable-server 安装部署 zabbix 服务器端软件--enable-agent 安装部署 zabbix 被监控端软件--enable-proxy 安装部署 zabbix 代理相关软件--with-mysql 配置 mysql_config 路径--with-net-snmp 允许 zabbix 通过 snmp 协议监控其他设备--with-libcurl 安装相关 curl 库文件这样 zabbix 就可以通过 curl 连接 http 等服务测试被监控主机服务的状态...................
***********************************************************
* Now run make install *
* *
* Thank you for using Zabbix! *
* http:// www.zabbix.com *
***********************************************************[rootlocalhost zabbix-4.0.3 ]# make install2.2 zabbix服务端配置
]# vim /usr/local/etc/zabbix_server.conf
DBHostlocalhost //数据库主机默认该行被注释
DBNamezabbix //设置数据库名称
DBUserzabbix //设置数据库账户
DBPasswordzabbix //设置数据库密码默认该行被注释
LogFile/tmp/zabbix_server.log //设置日志仅查看以下即可启动zabbix服务端
~]# zabbix_server //启动服务
~]# ss -ntulp |grep zabbix_server //确认连接状态端口 10051提示如果是因为配置文件不对导致服务无法启动时不要重复执行 zabbix_server 一定要先使用 killall zabbix_server 关闭服务后再重新启动一次。
2.3修改 Zabbix_agent 配置文件启动 Zabbix_agent 服务
[rootzabbixserver ~]# vim /usr/local/etc/zabbix_agentd.conf Server127.0.0.1,192.168.2.5 //允许哪些主机监控本机 ServerActive127.0.0.1,192.168.2.5 //允许哪些主机通过主动模式监控本机 Hostnamezabbix_server //设置本机主机名 LogFile/tmp/zabbix_server.log //设置日志文件 UnsafeUserParameters1 //是否允许自定义 key**启动zabbix_agent**
[rootzabbixserver ~]# zabbix_agentd //启动监控 agent ~]# ss -ntulp |grep zabbix_agentd //查看端口信息为 10050提示如果是因为配置文件不对导致服务无法启动时不要重复执行 zabbix_agentd 一定要先使用 killall zabbix_agentd 关闭服务后再重新启动一次。
2.4浏览器访问 Zabbix_server 服务器的 Web 页面
】# firefox http://192.168.2.5/index.php //第一次访问初始化 PHP 页面会检查计算机环境是否满足要求如果不满 足会给出修改建议 //默认会提示 PHP 的配置不满足环境要求需要修改 PHP 配置文件
根据错误提示修改 PHP 配置文件满足 Zabbix_server 的 Web 环境要求 php-bcmath 和 php-mbstring 都在 lnmp_soft 目录下有提供软件包。
[rootzabbixserver ~]# yum -y install php-gd php-xml
[rootzabbixserver ~]# yum install php-bcmath-5.4.16-42.el7.x86_64.rpm
[rootzabbixserver ~]# yum install php-mbstring-5.4.16-42.el7.x86_64.rpm
[rootzabbixserver ~]# vim /etc/php.ini date.timezone Asia/Shanghai //设置时区 max_execution_time 300 //最大执行时间秒 post_max_size 32M //POST 数据最大容量 max_input_time 300 //服务器接收数据的时间限制 memory_limit 128M //内存容量限制
[rootzabbixserver ~]# systemctl restart php-fpm修改完PHP配置文件后再次使用浏览器访问服务器则会提示如图-1和图-2所示的提示信息。 注意这里有一个 PHP LDAP 是 warning 状态是没有问题的 在初始化数据库页面填写数据库相关参数如图-3 所示。 在登陆页面使用用户(Admin)和密码(zabbix)登陆登陆后设置语言环境为中文如图-4 和图-5 所示。
3部署被监控主机 Zabbix Agent
3.1源码安装 Zabbix agent 软件
在 2.100 和 2.200 做相同操作以 zabbixclient_web1 为例。
[rootzabbixclient_web1 ~]# useradd -s /sbin/nologin zabbix
[rootzabbixclient_web1 ~]# yum -y install gcc pcre-devel
[rootzabbixclient_web1 ~]# tar -xf zabbix-3.4.4.tar.gz
[rootzabbixclient_web1 ~]# cd zabbix-3.4.4/
[rootzabbixclient_web1 zabbix-3.4.4]# ./configure --enable-agent
[rootzabbixclient_web1 zabbix-3.4.4]# make make install 3.2 修改 agent 配置文件启动 Agent
[rootzabbixclient_web1 ~]# vim /usr/local/etc/zabbix_agentd.conf
Server127.0.0.1,192.168.2.5 //谁可以监控本机被动监控模式
ServerActive127.0.0.1,192.168.2.5 //谁可以监控本机主动监控模式
Hostnamezabbixclient_web1 //被监控端自己的主机名
EnableRemoteCommands1 //监控异常后是否允许服务器远程过来执行命令如重启某个服务
UnsafeUserParameters1 //是否允许自定义 key 监控
[rootzabbixclient_web1 ~]# zabbix_agentd //启动 agent 服务 3.3 拷贝启动脚本非必须操作可选做有启动脚本可以方便管理服务启动与关闭服务
启动脚本位于 zabbix 源码目录下。
[rootzabbixclient_web1 zabbix-3.4.4]# cd misc/init.d/fedora/core
[rootzabbixclient_web1 zabbix-3.4.4]# cp zabbix_agentd /etc/init.d/
[rootzabbixclient_web1 zabbix-3.4.4]# /etc/init.d/zabbix_agentd start
[rootzabbixclient_web1 zabbix-3.4.4]# /etc/init.d/zabbix_agentd stop
[rootzabbixclient_web1 zabbix-3.4.4]# /etc/init.d/zabbix_agentd status
[rootzabbixclient_web1 zabbix-3.4.4]# /etc/init.d/zabbix_agentd restart 4配置及使用 Zabbix 监控系统
方案 通过 Zabbix 监控平台添加被监控 zabbixclient_web1 主机 192.168.2.100并链接监控模板即可Zabbix 默认模板就可以监控 CPU、内 存、进程、网络、磁盘等项目。 4.1添加监控主机
主机是 Zabbix 监控的基础Zabbix 所有监控都是基于 Host 主机。 使用火狐浏览器登录 http://192.168.2.5通过 Configuration配置- -Hosts主机–Create Host创建主机添加被监控 Linux 主机如图-7所示。 添加被监控主机时需要根据提示输入被监控 Linux 主机的主机名称最好与电脑的主机名一致但也允许不一致、主机组、IP 地址等参数具体参考图- 8 所示。
4.2为被监控主机添加监控模板
Zabbix 通过监控模板来对监控对象实施具体的监控功能根据模板来定义需要监控哪些数据对于 Linux 服务器的监控Zabbix 已经内置了相关的模板 Template OS Linux选择模板并链接到主机即可如图-9 所示
4.3查看监控数据
查看监控数据登录 Zabbix Web 控制台点击 Monitoring(监控中)— Latest data(最新数据)正过滤器中填写过滤条件根据监控组和监控主机选择需要查看哪些监控数据如图-10 所示。 找到需要监控的数据后可以点击后面的 Graph 查看监控图形如图-11 所 示
5自定义 Zabbix 监控项目 方案 需要使用 Zabbix 自定义 key 的方式实现自定义监控参考如下操作步骤 1. 创建自定义 key 2. 创建监控项目 3. 创建监控图形 4. 将监控模板关联到主机 5.1 被监控主机创建自定义 key
自定义 key 语法格式为UserParameter自定义 key 名称,命令。 自定义的 key 文件一般存储在/usr/local/etc/zabbix_agentd.conf.d/目录 这里还需要修改 zabbix_agentd.conf 文件允许自定义监控 key来读取该目录 下的所有文件 。
[rootzabbixclient_web1 ~]# vim /usr/local/etc/zabbix_agentd.conf Include/usr/local/etc/zabbix_agentd.conf.d/ //加载配置文件目录
[rootzabbixclient_web1 ~]# cd /usr/local/etc/zabbix_agentd.conf.d/
[rootzabbixclient_web1 zabbix_agentd.conf.d]# vim count.line.passwd
UserParametercount.line.passwd,wc -l /etc/passwd | awk {print $1} ////自定义 key 语法格式:
//UserParameter自定义 key 名称,命令注意如zabbix_get命令执行错误提示Check access restrictions in Zabbix agent configuration则需要检查 agent 配置文件是否正确
[rootzabbixclient_web1 ~]# vim /usr/local/etc/zabbix_agentd.conf
Server127.0.0.1,192.168.2.5
ServerActive127.0.0.1,192.168.2.5 5.2 创建监控模板
模板、应用集与监控项目的关系图参考图-12 所示
5.2.1添加监控模板
登录 Zabbix Web 监控控制台通过 Configuration(配置)–Template(模 板)–Create template(创建模板)填写模板名称新建模板群组如图-13 所示。 创建模板后默认模板中没有任何应用、项目、触发器、图形等如图-14 所 示。
5.2.2 创建应用
创建完成模板后默认模板中没有任何应用、项目、触发器、图形等资源。 这里需要点击模板后面的 Application应用集链接打开创建应用的页面如图-15 所示。 点击 Application应用集后会刷新出图-16 所示页面在该页面中点击 Create application创建应用集按钮。 设置应用名称如图-17 所示。
5.2.3 创建监控项目 item监控项
与创建应用一样在模板中还需要创建监控项目如图-18 所示并在刷新出 的新页面中选择 Create items创建监控项创建项目如图-19 所示。 接下来还需要给项目设置名称及对应的自定义 key如图-20 所示
5.2.4 创建图形
为了后期可以通过图形的方式展示监控数据还需要在模板中创建图形设 置方法与前面的步骤一致在监控模板后面点击Graph图形即可创建图形 设置监控图形基于什么监控数据如图-21 所示。
5.2.5 将模板链接到被监控主机
将完整的监控模板制作完成后就可以将模板链接到主机实现监控功能了。 首先找到被监控主机 Configuration配置–Hosts主机如图-22 所示。 点击需要的被监控主机链接打开监控主机设置页面在 Template模板 页面中选择需要链接到该主机的模板在此选择刚刚创建的模板 count_line.passwd 添加即可如图-23 所示
5.2.6 查看监控数据图形
点击 Monitoring监控中–Craphs图形根据需要选择条件查看 监控图形如图-24 和图-25 所示。