【监控】Zabbix安装
前言
对于运维人员来说,服务器各个参数及性能指标对业务的运行至关重要,这些性能指标会因为种种原因发生变化,变化的指标很有可能不是所期望的,此时需要运维人员去处理这些问题。对于24小时不停运转的业务来说,运维人员不可能时时刻刻登录到服务器上查看相关信息,此时一套完整且功能强大的自动化监控系统能够大大提高运维人员的工作效率。那么了解主流监控产品及安装是每一个运维人员必备的知识和技能。
一、监控目的
监控是指对行为、活动或其他变动中信息的一种持续性关注,通常是为了对人达成影响、管理、指导或保护的目的。来自《维基百科》
在运维行业中也是如此,只不过对象变成了服务器、各种应用指标等,运维人员想通过监控去对业务达到管理、指导或保护的目的。
监控的目的就很明确:
报告系统的运行状况:通过系统的运行状况能够及时的对系统性能进行调整
及时发现系统问题:能够第一时间发现问题并及时处理
二、监控方式
过去传统的运维只能通过系统相关命令查看系统指标,这是个体力活。少量服务器及应用可能还能查看,当有大量服务器及应用时,这就是一个艰巨的任务,并且不能实时的告知系统异常,所以传统的运维目前逐步淘汰。另一种就是通过自动化监控系统,监控系统就能很好的规避传统运维手动操作的痛点,同时也能实现自动化监控,及时发现问题进行预警,大大提高运维人员的工作效率。
三、主流监控系统
一套完整的业务系统要有网络设备、服务器、应用服务等,市面上就有应对不同设备及应用的监控系统,当然目前很多监控系统都结合在一起各有优缺点。具体可百度,这里大致说明以下三种监控系统:
- Zabbix:基于WEB界面提供监视数据,有着美观的WEB界面及容易上手是目前主流的监控产品,能够监控服务器信息、应用信息、网络设备、自定义监控等等。
- Cacti:更善于监控网络流量、网络设备。
- Nagios:和Zabbix一样,都是能够监控服务器信息、应用信息、网络设备、自定义监控等等。
四、Zabbix介绍
Zabbix中国官网:https://www.zabbix.com/cn/
Zabbix产品手册:https://www.zabbix.com/cn/manuals
Zabbix是一个企业级分布式开源监控系统,Zabbix 软件能够监控众多网络参数和服务器的健康度、完整性。
Zabbix 使用灵活的告警机制,允许用户为几乎任何事件配置基于邮件的告警。这样用户可以快速响应服务器问题。Zabbix 基于存储的数据提供出色的报表和数据可视化功能。这些功能使得 Zabbix 成为容量规划的理想选择。
Zabbix 支持主动轮询(polling)和被动捕获(trapping)。Zabbix所有的报表、统计数据和配置参数都可以通过基于 Web 的前端页面进行访问。基于 Web 的前端页面确保您可以在任何地方访问您监控的网络状态和服务器健康状况。适当的配置后,Zabbix 可以在监控 IT 基础设施方面发挥重要作用。无论是对于有少量服务器的小型组织,还是拥有大量服务器的大企业而言,同样适用。
Zabbix 是免费的。Zabbix 是根据 GPL 通用公共许可证的第二版编写和发布的。这意味着产品源代码是免费发布的,可供公共使用。
以上,来自Zabbix 官方手册
总的来说Zabbix是一个企业级的开源监控系统,能够监控很多内容,且有着灵活的告警机制,重点是开源免费!
Zabbix组成
- 监控服务器
- 监控服务器可以通过SNMP或Agent采集数据
- 数据可以写入MySQL、Oracle等数据库中
- 被监控主机\网络设备
- 被监控主机需要安装Agent
- 常见的网络设备一般支持SNMP
Zabbix默认端口
- Server端:10051
- Agent端:10050
既然这么好,不多说直接开始安装体验!
五、Zabbix服务端安装
5.1 环境介绍
- 操作系统:CentOS 7.9.2009 Minimal
- WEB服务:Nginx 1.20.1
- 数据库:MySQL 5.7.26
- Zabbix版本:4.0.32
- PHP:7.0
- PHP-FPM:7.0
- 网络环境:互联网
安装前自然不必多说,首当其冲就是配置YUM源,使用的是阿里云EPEL(Extra Packages for Enterprise Linux) YUM源、Centos-7镜像YUM源、Webtatic的YUM源。
参考链接
- https://developer.aliyun.com/mirror/epel?spm=a2c6h.13651102.0.0.3e221b112n2Ox1
- https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.12971b11T3SFHC
# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
# yum -y install epel-release
# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
5.2 准备系统环境
安装依赖包
Nginx依赖包
# yum -y install gcc pcre-devel openssl-devel
MySQL依赖包
# yum -y install perl-JSON perl-Data-Dumper mysql-devel
Zabbix依赖包
# yum -y install net-snmp-devel curl-devel libevent-devel php70w-gd php70w-xml php70w-bcmath php70w-mbstring
关闭防火墙、selinux
# iptable -F ; setenforce 0
5.3 安装Nginx(源码编译安装)
# wget http://nginx.org/download/nginx-1.20.1.tar.gz
# tar -xf nginx-1.20.1.tar.gz && cd nginx-1.20.1
# ./configure --with-http_ssl_module
# make && make install
启动Nginx
# /usr/local/nginx/sbin/nginx
开机自启动
#
测试Nginx
# curl http://127.0.0.1
......
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
.....
5.3.1 配置Nginx
# vim /usr/local/nginx/conf/nginx.conf
了解Nginx的读者可能知道以下配置的含义,不了解也没关系,照样能搭建网页服务,具体可自行百度学习。
在65行添加以下内容,并按照以下内容去掉注释,注意75行是修改配置文件参数的。
43 location / {
44 root html;
45 index index.html index.htm index.php; # 新增index.php
46 }
.......
65 fastcgi_buffers 8 16k; # 缓存php生成的页面内容,8个16k,缓存越大速度越快
66 fastcgi_buffer_size 32k; # 缓存php生产的头部信息
67 fastcgi_connect_timeout 300; # 连接PHP的超时时间
68 fastcgi_send_timeout 300; # 发送请求的超时时间
69 fastcgi_read_timeout 300; # 读取请求的超时时间
70 location ~ \.php$ {
71 root html;
72 fastcgi_pass 127.0.0.1:9000;
73 fastcgi_index index.php;
74 # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
75 include fastcgi.conf;
76 }
重新加载配置文件
# /usr/local/nginx/sbin/nginx -s reload
5.4 PHP、PHP-FPM(YUM安装)
首先由于EPEL源和镜像源的PHP版本是5版本,无法满足Zabbix对PHP 版本的要求,Zabbix 4.0需要PHP 7版本,为了避免源码安装PHP 的各种复杂操作,通过YUM源安装是最高效和选择。
5.4.1 安装PHP7、PHP-FPM
# yum -y install php70w-fpm php70w php70w-mysql
5.4.2 启动PHP-FPM
# systemctl start php-fpm
# systemctl enable php-fpm
5.4.3 测试PHP环境
# php -v
PHP 7.0.33 (cli) (built: Dec 6 2018 22:30:44) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
# vim /usr/local/nginx/html/test.php
<?php
$i=100;
echo $i;
?>
# curl http://127.0.0.1/test.php
100
5.5 安装MySQL(通用二进制版本)
5.5.1 准备MySQL环境
# useradd -s /sbin/nologin mysql
# mkdir /database/ /data/
# chown -R mysql:mysql /database/ /data/
# wget -O /database/mysql-5.7.26.tar.gz https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.26-el7-x86_64.tar.gz
# tar -xf /database/mysql-5.7.26.tar.gz
# ln -s /database/mysql-5.7.26 /database/mysql
# vim /etc/profile
export PATH=$PATH:/database/mysql/bin/
# source /etc/profile
# mysql -V
mysql Ver 14.14 Distrib 5.7.26, for el7 (x86_64) using EditLine wrapper
5.5.2 初始化MySQL、添加配置文件、启动MySQL、添加管理员密码
# mysqld --initialize-insecure --user=mysql --basedir=/database/mysql --datadir=/data
# cat > /etc/my.cnf <<EOF
[mysqld]
user=mysql
basedir=/database/mysql
datadir=/data
server_id=6
port=3306
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock
EOF
# cp /database/mysql/support-files/mysql.server /etc/init.d/mysqld
# /etc/init.d/mysqld start
# 设置开机自启动
# /etc/init.d/mysqld status
# mysqladmin -uroot password "Admin@123"
# mysql -u"root" -p"Admin@123"
5.6 安装Zabbix服务端(源码编译安装)
5.6.1 源码编译安装Zabbix
# wget https://cdn.zabbix.com/zabbix/sources/stable/4.0/zabbix-4.0.32.tar.gz
# tar -xf zabbix-4.0.32.tar.gz
# ./configure --enable-server --enable-agent --enable-proxy --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl
--enable-server:表示监控服务器
--enable-agent:表示被监控端agent,监控私有数据.这里是服务端也安装agent实现监控
--enable-proxy:支持分布式监控
--with-mysql=/usr/bin/mysql_config:指定mysql程序决定路径,获取到mysql信息
--with-net-snmp:监控交换机路由器
--with-libcurl:调用curl软件监控公开数据:http、ftp等等,必须要有curl才能监控公开数据
# make && make install
5.6.2 初始化Zabbix
# cp -r frontends/php/* /usr/local/nginx/html/
数据库中创建创建Zabbix用户
# mysql -u"root" -p"Admin@123"
mysql> create database zabbix default character set utf8 collate utf8_bin;
mysql> grant all on zabbix.* to zabbix@'%' identified by 'Zabbix@123';
依次向zabbix库导入Zabbix所需的数据
# mysql -uzabbix -p'Zabbix@123' zabbix < database/mysql/schema.sql
# mysql -uzabbix -p'Zabbix@123' zabbix < database/mysql/images.sql
# mysql -uzabbix -p'Zabbix@123' zabbix < database/mysql/data.sql
修改zabbix_server配置文件,指定数据库名称、用户名、密码
# vim /usr/local/etc/zabbix_server.conf
85 DBHost=127.0.0.1 # 数据库主机
94 DBName=zabbix # 设置数据库名称
110 DBUser=zabbix # 设置数据库账户
118 DBPassword=Zabbix@123 # 设置数据库密码
125 DBSocket=/tmp/mysql.sock # 这里的套接字路径和MySQL配置文件路径要一直
133 DBPort=3306 # 数据库端口
创建系统用户
# useradd -s /sbin/nologin zabbix
5.6.3 修改PHP配置以满足Zabbix要求
# vi /etc/php.ini
; 设置时区
date.timezone = Asia/Shanghai
; 最大执行时间,秒
max_execution_time = 300
; POST数据最大容量
post_max_size = 32M
; 服务器接收数据的时间限制
max_input_time = 300
; 内存容量限制
memory_limit = 128M
# systemctl restart php-fpm 修改完后重启php-fpm服务
5.6.4 启动Zabbix相关程序
# zabbix_agentd
# zabbix_server
# ss -anptu | grep 10051
tcp LISTEN 0 128 *:10051 *:* users:
......
5.6.5 访问Zabbix并进行最后初始化
浏览器访问主机IP地址:http://10.8.99.7/,这里就不放图了,有图之后文章变得非常臃肿,非常难看,步骤也非常简单不需要放图.
- Welcome: 欢迎
- Check of pre-requisites:检查先决条件,需要注意有一项PHP LDAP是Warning状态,可以忽略
- Configure DB connection:设置数据库,需要注意Database host设置为127.0.0.1,而不是localhost
- Zabbix server details:服务器信息
- Pre-installation summary:安装前总结
- Install:安装,这里会出权限问题,需要设置权限
chmod -R 777 /usr/local/nginx/html/
,再次刷新即可完成最后初始化
Zabbix默认管理员用户名密码:Admin/zabbix
以上,完成Zabbix服务端的安装!
5.7 归纳总结
六、Zabbix客户端安装
结束
【监控】Zabbix安装的更多相关文章
- Centos 7.4 下初探Zabbix安装
工作一波停一波起,感觉离开.net好久了. 最近工作中发现服务器监视都是用了zabbix,对于我这类不懂的狠狠弥补了一下知识. 无意发现zabbix带有api,就想开发个工具调用api来着.可是api ...
- zabbix分布式监控服务 安装与配置
zabbix安装与配置 一.什么是zabbix及优缺点(对比cacti和nagios) Zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决存 ...
- 04.Linux系统-Zabbix监控服务安装部署
一.环境准备 操作系统:CentOS_Server_7.5_x64_1804.iso 部署组件:Zabbix 二.操作步骤: Zabbix_Server安装部署 2.0.安装依赖组件 [root@lo ...
- CentOS下Zabbix安装部署及汉化
搭建环境:Centos6.5_x86_64,Zabbix2.4.5,epel 源 服务端: 1.安装开发软件包yum -y groupinstall "Development Tools&q ...
- Zabbix安装图解教程
说明: 操作系统:CentOS IP地址:192.168.21.127 Web环境:Nginx+MySQL+PHP zabbix版本:Zabbix 2.2 LTS 备注:Linux下安装zabbix需 ...
- 详解zabbix安装部署(Server端篇)
原文:http://blog.chinaunix.net/uid-25266990-id-3380929.html Linux下常用的系统监控软件有Nagios.Cacti.Zabbix.Monit等 ...
- Zabbix 安装及微信短信提醒
Zabbix简介 Zabbix 近几年得到了各大互联网公司的认可,当然第一点归功与它强大的监控功能,第二点免费开源也得到了广大用户的青睐.Zabbix 能将操作系统中的绝大部分指标进行监控,比如(CP ...
- centos6.5下Zabbix系列之Zabbix安装搭建及汉化
最近在研究zabbix,在整理完成之后就有了写一下总结博客的想法,在我研究zabbix的时候给我很大帮助的是it你好,博客地址http://itnihao.blog.51cto.com/他做的zabb ...
- centos6.5下Zabbix系列之Zabbix安装搭建及汉化 (转)
最近在研究zabbix,在整理完成之后就有了写一下总结博客的想法,在我研究zabbix的时候给我很大帮助的是it你好,博客地址 http://itnihao.blog.51cto.com/他做的zab ...
- zabbix安装配置
实验环境 主机名 操作系统版本 IP地址 安装软件 console CentOS 7.0 114.55.29.246 Httpd.Nginx.MySQL.Zabbix log1 CentOS 7.0 ...
随机推荐
- Hibernate框架(三)框架中的关系映射
在设计数据库时我们会考虑,表与表之间的关系,例如我们前边经常提到的一对一,一对多,多对多关系,在数据库中我们通过外键,第三张表等来实现这些关系.而Hibernate时间实体类和数据库中的表进行的映射, ...
- Mysql 中字符串的截取
一.从左开始截取字符串 用法:left(str, length),即:left(被截取字符串, 截取长度) mysql> SELECT LEFT('hello,world',3); +----- ...
- redis广播/订阅模式演示
参考博客 http://www.pianshen.com/article/7183315879/ 1.首先在本地启动redis服务 2.启动4个客户端 redis-cli 3.将其中三个客户端设置监听 ...
- Nginx PHP测试装
Nginx yum -y install gcc gcc-c++ make automake autoconf pcre pcre-devel zlib zlib-devel openssl open ...
- Github Copilot 结合python的使用
之前提交的github copilot技术预览版申请,今天收到准入邮件,于是安上试一试这个准备把我送去电子厂上班的copy a lot ? 官网及申请地址:https://copilot.github ...
- C语言:char[]操作
C语言中char[]的操作函数1.赋值操作在C语言中,char型数组是不可以直接赋值的.例如在如下的代码中,会得到错误: char c1[20] = "women";char c2 ...
- Python入门学习指南
对于初学者,入门至关重要,这关系到初学者是从入门到精通还是从入门到放弃.以下是结合Python的学习经验,整理出的一条学习路径,主要有四个阶段 NO.1 新手入门阶段,学习基础知识 总体来讲,找一本靠 ...
- 计算机毕业设计选题大合集,含ssm,springboot,小程序,php,python
1基于springboot医院急诊系统 2基于springboot校园闲置物品租售系统 3基于springboot校园闲置物品交易网站 4基于springboot图书网站 5基于springboot外 ...
- 前端开发入门到进阶第三集【JavaScript中如何将html字符串转化为Jquery对象或者Dom对象】
https://www.cnblogs.com/mingjiatang/p/4746845.html
- Centos 7 配置阿里云 yum 源
Centos 7 配置阿里云 yum 源 一. 禁用 yum 插件 fastestmirror 修改插件的配置文件 cp /etc/yum/pluginconf.d/fastestmirror.con ...