zabbix介绍

zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

zabbix由2部分构成,zabbix server与可选组件zabbix agent。

zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Ubuntu,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。

zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。

zabbix server可以单独监视远程服务器的服务状态;同时也可以与zabbix agent配合,可以轮询zabbix agent主动接收监视数据(agent方式),同时还可被动接收zabbix agent发送的数据(trapping方式)。

另外zabbix server还支持SNMP (v1,v2),可以与SNMP软件(例如:net-snmp)等配合使用。

zabbix特点

zabbix的主要特点:

  • 安装与配置简单,学习成本低
  • 支持多语言(包括中文)
  • 免费开源
  • 自动发现服务器与网络设备
  • 分布式监视以及WEB集中管理功能
  • 可以无agent监视
  • 用户安全认证和柔软的授权方式
  • 通过WEB界面设置或查看监视结果
  • email等通知功能

Zabbix主要功能:

  • CPU负荷
  • 内存使用
  • 磁盘使用
  • 网络状况
  • 端口监视
  • 日志监视

zabbix配置文件

zabbix配置文件有两种:

  • 服务器端配置文件(/usr/local/etc/zabbix_server.conf)
  • 客户端配置文件(/usr/local/etc/zabbix_agentd.conf)
  • zabbix代理配置文件(/usr/local/etc/zabbix_proxy.conf)

服务器端配置文件zabbix_server.conf常用配置参数:

参数 作用
LogFile 设置服务端日志文件存放路径
ListenIP 设置服务端监听IP
ListenPort 设置服务端监听的端口号
PidFile 设置服务端进程号文件存放路径
DBHost 指定zabbix的数据库服务器IP
DBName 指定zabbix使用的数据库库名
DBUser 指定zabbix数据库登录用户
DBPassword 指定zabbix数据库登录密码
DBPort 指定zabbix数据库端口号
User 设置zabbix以什么用户的身份运行
AlertScriptsPath 设置告警脚本存放路径
ExternalScripts 外部脚本存放路径

客户端配置文件zabbix_agentd.conf常用配置参数:

参数 作用
Server 指定zabbix服务器的IP或域名
ServerActive 指定zabbix服务器的IP或域名
Hostname 指定本机的主机名,此项必须与web界面配置项一致
UnsafeUserParameters 是否启用自定义监控项,可选值为{1/0}
UserParameter 指定自定义监控脚本参数
LogFile 设置客户端日志文件存放路径

部署zabbix

参考于Zabbix 产品手册

环境说明:

  • 服务器

    • lamp架构
    • zabbix server
    • zabbix agent
  • 客户端
    • zabbix agent

因为zabbix是用php语言开发的,所以必须先部署lamp架构,使其能够支持运行php网页

zabbix服务端安装

[root@lynk ~]# yum -y install net-snmp-devel libevent-devel
[root@lynk ~]# cd /usr/src/
[root@lynk src]# wget https://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.3/zabbix-4.0.3.tar.gz
[root@lynk src]# tar xf zabbix-4.0.3.tar.gz
[root@lynk src]# groupadd -r zabbix
[root@lynk src]# useradd -r -g zabbix -M -s /sbin/nologin zabbix
[root@lynk src]# mysql -uroot -p
Enter password:
mysql> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.08 sec) mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix123!';
Query OK, 0 rows affected, 2 warnings (0.17 sec) mysql> flush privileges;
Query OK, 0 rows affected (0.20 sec) mysql> quit
Bye [root@lynk src]# cd /usr/src/zabbix-4.0.3/database/mysql/
[root@lynk mysql]# mysql -uzabbix -pzabbix123! zabbix < schema.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@lynk mysql]# mysql -uzabbix -pzabbix123! zabbix < images.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@lynk mysql]# mysql -uzabbix -pzabbix123! zabbix < data.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@lynk mysql]# cd /usr/src/zabbix-4.0.3
[root@lynk zabbix-4.0.3]# ./configure --enable-server \
--enable-agent \
--with-mysql \
--with-net-snmp \
--with-libcurl \
--with-libxml2
[root@lynk zabbix-4.0.3]# make install

zabbix服务端配置

[root@lynk zabbix-4.0.3]# vim /usr/local/etc/zabbix_server.conf
#设置服务端密码
DBPassword=zabbix123!
[root@lynk zabbix-4.0.3]# zabbix_server
[root@lynk zabbix-4.0.3]# zabbix_agentd

zabbix服务端web界面安装与配置

[root@lynk zabbix-4.0.3]# sed -ri 's/(post_max_size =).*/\1 16M/g' /etc/php.ini
[root@lynk zabbix-4.0.3]# sed -ri 's/(max_execution_time =).*/\1 300/g' /etc/php.ini
[root@lynk zabbix-4.0.3]# sed -ri 's/(max_input_time =).*/\1 300/g' /etc/php.ini
[root@lynk zabbix-4.0.3]# sed -i '/;date.timezone/a date.timezone = Asia/Shanghai' /etc/php.ini
[root@lynk zabbix-4.0.3]# service php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm done
[root@lynk zabbix-4.0.3]# mkdir /usr/local/apache/htdocs/zabbix
[root@lynk zabbix-4.0.3]# cp -a frontends/php/* /usr/local/apache/htdocs/zabbix/
[root@lynk zabbix-4.0.3]# chown -R apache.apache /usr/local/apache/htdocs #配置apache虚拟主机
[root@lynk zabbix-4.0.3]# cat >> /etc/httpd24/httpd.conf << EOF
<VirtualHost *:80>
DocumentRoot "/usr/local/apache/htdocs/zabbix"
ServerName zabbix.lynk.com
ProxyRequests Off
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/usr/local/apache/htdocs/zabbix/$1
<Directory "/usr/local/apache/htdocs/zabbix">
Options none
AllowOverride none
Require all granted
</Directory>
</VirtualHost>
EOF #设置zabbix/conf目录的权限,让zabbix有权限生成配置文件zabbix.conf.php
[root@lynk zabbix-4.0.3]# chmod 777 /usr/local/apache/htdocs/zabbix/conf
[root@lynk zabbix-4.0.3]# ll -d /usr/local/apache/htdocs/zabbix/conf
drwxrwxrwx. 2 apache apache 81 12月 20 19:24 /usr/local/apache/htdocs/zabbix/conf
[root@lynk zabbix-4.0.3]# apachectl -t
Syntax OK
[root@lynk zabbix-4.0.3]# apachectl stop
[root@lynk zabbix-4.0.3]# apachectl start

安装zabbix web界面

  1. 修改hosts文件,本文设置的域名为zabbix.lynk.com,请修改为自己的
  2. 登录到zabbix.lynk.com,按照提示进行设置,注意BD的密码
  3. 完成安装后,将会要求登陆,默认的登陆用户名为Admin,密码为zabbix
  4. 恢复/zabbix/conf目录权限为775
[root@lynk zabbix-4.0.3]# chmod 755 /usr/local/apache/htdocs/zabbix/conf

安装zabbix-agent

#安装编译器
[root@Hyrule ~]# yum -y install gcc gcc-c++
#安装开发环境
[root@Hyrule ~]# yum -y install net-snmp-devel libevent-devel
[root@Hyrule src]# yum -y install pcre-devel openssl-devel #安装zabbix-agent
[root@Hyrule ~]# cd /usr/src/
[root@Hyrule src]# wget https://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.3/zabbix-4.0.3.tar.gz
[root@Hyrule src]# tar xf zabbix-4.0.3.tar.gz
[root@Hyrule src]# groupadd -r zabbix
[root@Hyrule src]# useradd -r -g zabbix -M -s /sbin/nologin zabbix
[root@Hyrule src]# cd zabbix-4.0.3
[root@Hyrule zabbix-4.0.3]# ./configure --enable-agent
[root@Hyrule zabbix-4.0.3]# make install
[root@Hyrule zabbix-4.0.3]# cd /usr/local/etc/
[root@Hyrule etc]# vim zabbix_agentd.conf
#修改以下内容:
Server=zabbix Server端的IP
ServerActive=zabbix Server端的IP
Hostname=agent端的名字
#启动agent端
[root@Hyrule etc]# zabbix_agentd
[root@Hyrule etc]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 *:10050 *:*
LISTEN 0 128 :::22 :::*
LISTEN 0 100 ::1:25 :::*
#看到10050端口(默认)开启代表启动成功

解决中文乱码问题

#将字体文件(tff)放到/usr/local/apache/htdocs/zabbix/fonts/
#修改字体文件权限,比如我是微软雅黑MSYH.tff
[root@lynk ~]# chmod 644 /usr/local/apache/htdocs/zabbix/fonts/MSYH.ttf
[root@lynk ~]# chown apache.apache /usr/local/apache/htdocs/zabbix/fonts/MSYH.ttf
#修改配置文件,将所有的DejaVuSans修改为你的字体名称,如MSYH
[root@lynk ~]# sed -i 's/DejaVuSans/MSYH/g' /usr/local/apache/htdocs/zabbix/include/defines.inc.php
#重启zabbix
[root@localhost zabbix]# pkill zabbix
[root@localhost zabbix]# zabbix_server
[root@localhost zabbix]# zabbix_agentd

zabbix简介与部署的更多相关文章

  1. Zabbix简介及安装

    前言 未经监控就上线的系统,就是裸奔,耍流氓. 监控对我们来说太重要了,监控工具也有很多,像,Cacti,Nagios,Ganglia,Zabbix等等,今天我们要介绍的是Zabbix,它的功能很强大 ...

  2. 002.Zabbix简介

    一 Zabbix简介 1.1 概述 Zabbix是一个企业级的高度集成开源监控软件,提供分布式监控解决方案.可以用来监控设备.服务等可用性和性能. 1.2 所支持监控方式 目前由zabbix提供包括但 ...

  3. 深入详解美团点评CAT跨语言服务监控(一) CAT简介与部署

    前言: CAT是一个实时和接近全量的监控系统,它侧重于对Java应用的监控,除了与点评RPC组件融合的很好之外,他将会能与Spring.MyBatis.Dubbo 等框架以及Log4j 等结合,支持P ...

  4. zabbix环境搭建部署(一)

     Linux高端架构师课程 Linux实战运维国内NO.1全套视频课程 QQ咨询:397824870  > 监控报警 > zabbix环境搭建部署(一) zabbix环境搭建部署(一) 监 ...

  5. 详解zabbix中文版安装部署

    一.zabbix简介(摘自百度百科) zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供柔软 ...

  6. zabbix分布式监控部署--技术流ken

    前言 zabbix proxy可以代替zabbix server检索客户端的数据,然后把数据汇报给zabbix server,并且在一定程度上分担了zabbix server的压力.zabbix pr ...

  7. centos7下zabbix安装与部署

    1.Zabbix介绍 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系 ...

  8. zabbix的安装部署及自定义监控的实现

    此篇感谢我的小师傅. 1. Zabbix主要功能和优劣势说明 1. Zabbix主要功能和优劣势说明 1.1 Zabbix主要功能: 1)Application monitoring 应用监控 数据库 ...

  9. Zabbix监控系统部署:基本功能测试

    1. 概述2. 登陆2.1 登陆账号密码2.1 设置中文语言环境3. 创建用户3.1 用户创建入口3.2 添加用户信息3.3 用户报警媒介3.4 用户权限4. 创建监控主机4.1 添加一台监控主机4. ...

随机推荐

  1. ANSI编码导致的乱码

    美帝那边的一个 donet 项目,打开后发现一段string里面各种乱码.一通折腾后发现是编码格式问题.这段string所在的类文件保存格式为ANSI,而不是VS默认的UTF-8. ANSI编码电脑是 ...

  2. 向量的卷积(convolution)运算

    一.向量的卷积运算 给定两个n维向量α=(a0, a1, ..., an-1)T,β=(b0, b1, ..., bn-1)T,则α与β的卷积运算定义为: α*β=(c0, c1, ..., c2n- ...

  3. C#控制台程序点击后暂停工作

    C#控制台应用程序,点击后就会暂停运行,但是我想让它运行不受点击的干扰.下面是程序演示: public void Test() { ThreadOut(); } private void Thread ...

  4. (转)查看SQLServer最耗资源时间的SQL语句

    原文地址:https://www.cnblogs.com/My-Dream/p/6270308.html 1.找出执行时间最长的10条SQL(适用于SQL SERVER 2005及其以上版本) SEL ...

  5. WPF 后台重写 DataTemplate

    /// <summary> /// 配置类 /// </summary> public static class GridControlDeploy { /// <sum ...

  6. js数组条件筛选——map()

    在对象数组中检索属性为指定值得某个对象使用map()就非常方便. 对象数组 var studentArray = [ {"name":"小明","ge ...

  7. android 开发 View _1_ View的子类们 和 视图坐标系图

    目录: android 开发 View _2_ View的属性动画ObjectAnimator ,动画效果一览 android 开发 View _3_ View的属性动画ValueAnimator a ...

  8. lvm管理:扩展lv、删除pv、lv等

    从卷组VG里扩展lv.删除pv,并删除物理卷PV 一.扩展LV.缩小LV 1.卸载LV 命令:umount  "挂载目录" 2.扩展LV 命令:lvextend -L +500m  ...

  9. !!!常用CSS代码块

    图片排满一行.左右两端无间隙. <style type="text/css"> .img_abc{float:left;width:30%;margin-left:5% ...

  10. leetcode437

    /** * Definition for a binary tree node. * public class TreeNode { * public int val; * public TreeNo ...