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. C++Primer第五版——习题答案详解(六)

    习题答案目录:https://www.cnblogs.com/Mered1th/p/10485695.html 第7章 类 练习7.1 class Sales_data { public: std:: ...

  2. js基础系列之【作用域】

    声明:形成本文的出发点仅仅是个人总结记录,避免遗忘,并非详实的教程:文中引用了经过个人加工的其它作者的内容,并非原创.学海无涯 什么是作用域? 作用域就是一套规则,用于确定在何处以及如何查找变量(标识 ...

  3. CSS预处理语言

    CSS预处理语言 Less,Sass,Stylus 安装 Less yarn add less 运行命令 ./node_modules/.bin/lessc 嵌套规则 Less.Sass嵌套规则一样 ...

  4. 九、非主体机构元素——header元素、footer元素、address元素、网页编排

    header元素 一般用来放置整个页面的标题,比如说一个新闻页面,header一般放新闻的标题,如果是一个官方网址,一般header用来放logo和网站导航. <!DOCTYPE html> ...

  5. jmeter压测之添加负载机

    jmeter压测基本介绍一般基准测试(基准测试时间一般为5分钟)后压测的时间是10-15分钟: 实施测试之前要拿到测试指标 例如:tps要达到多少响应时间要达到多少并发数要达到多少TPS :服务端每秒 ...

  6. LevelDB源码分析-sstable的Block

    sstable中的Block(table/block.h table/block.cc table/block_builder.h table/block_builder.cc) sstable中的b ...

  7. pip install 提示代理连接失败原因及解决办法

    # pip install 提示代理连接失败原因及解决办法 1. 错误提示 在公司电脑上安装Python的虚拟环境时输入命令: pip install virtualenv 系统提示以下异常信息: R ...

  8. test case VS test scenario

    ---恢复内容开始--- 1. test case: how to test --如何测试 test scenario: what to  be tested  --测试什么 2. test scen ...

  9. 简单的TSQL基础编程格式,存储过程,视图

    这里简单整理一下数据库简单的编程,变量定义,赋值,分支语句和循环(这里以Sqlserver),以及存储过程格式 首先是变量定义,赋值,分支语句 --======TSQL数据库基础编程,定义变量,赋值, ...

  10. python学习笔记(四)- 常用的字符串的方法

    一.常用的字符串方法(一):(字符串是不能被修改的) 1)a.strip()   #默认去掉字符串两边的空格和换行符 a = ' 字符串 \n\n ' c = a.strip() a.lstrip() ...