运维监控平台之zabbix详解1

本来是想一篇文章介绍完的,写着写着发现篇幅太长,所以决定还是分两篇来介绍,本次软件所用的版本信息如下(基于LNMP环境),操作系统centos6.7

nginx-1.6.3.tar.gz

php-5.6.24.tar.gz

mysql-5.5.49-linux2.6-x86_64.tar.gz

zabbix-3.0.4.tar.gz (zabbix-3以上版本之支持php5.4以上环境)

LNMP环境搭建不再这里说明了,如果不懂的看本人之前写的nginx+php,这里简单介绍下php编译

[[email protected] tools]# wget  http://cn2.php.net/distributions/php-5.6.24.tar.gz 
[[email protected] tools]# tar xf php-5.6.24.tar.gz 
[[email protected] tools]# cd php-5.6.24
[[email protected] php-5.6.24]# ./configure > --prefix=/application/php5.6.24 > --with-mysql=/application/mysql >--with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd
> --with-iconv-dir=/usr/local/libiconv > --with-freetype-dir > --with-jpeg-dir > --with-png-dir > --with-zlib > --with-libxml-dir=/usr > --enable-xml > --disable-rpath > --enable-safe-mode > --enable-bcmath > --enable-shmop > --enable-sysvsem > --enable-inline-optimization > --with-curl > --with-curlwrappers > --enable-mbregex > --enable-fpm > --enable-mbstring > --with-mcrypt > --with-gd > --enable-gd-native-ttf > --with-openssl > --with-mhash > --enable-pcntl > --enable-sockets > --with-xmlrpc > --enable-zip > --enable-soap > --enable-short-tags > --enable-zend-multibyte > --enable-static > --with-xsl > --with-fpm-user=nginx > --with-fpm-group=nginx > --enable-ftp
>--with-gettext
Generating files
configure: creating ./config.status
creating main/internal_functions.c
creating main/internal_functions_cli.c
+--------------------------------------------------------------------+
| License:                                                           |
| This software is subject to the PHP License, available in this     |
| distribution in the file LICENSE.  By continuing this installation |
| process, you are bound by the terms of this license agreement.     |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point.                            |
+--------------------------------------------------------------------+
Thank you for using PHP.
config.status: creating php5.spec
config.status: creating main/build-defs.h
config.status: creating scripts/phpize
config.status: creating scripts/man1/phpize.1
config.status: creating scripts/php-config
config.status: creating scripts/man1/php-config.1
config.status: creating sapi/cli/php.1
config.status: creating sapi/fpm/php-fpm.conf
config.status: creating sapi/fpm/init.d.php-fpm
config.status: creating sapi/fpm/php-fpm.service
config.status: creating sapi/fpm/php-fpm.8
config.status: creating sapi/fpm/status.html
config.status: creating sapi/cgi/php-cgi.1
config.status: creating ext/phar/phar.1
config.status: creating ext/phar/phar.phar.1
config.status: creating main/php_config.h
config.status: executing default commands
configure: WARNING: unrecognized options: --enable-safe-mode, --with-curlwrappers, --enable-zend-multibyte

编译过程截图如下

[[email protected] application]# ln -s /application/mysql/lib/libmysqlclient.so.18  /usr/lib64/
[[email protected] application]# touch ext/phar/phar.phar
[[email protected] application]# make && make install
Build complete.
Don‘t forget to run ‘make test‘.
Installing shared extensions:     /application/php5.6.24/lib/php/extensions/no-debug-non-zts-20131226/
Installing PHP CLI binary:        /application/php5.6.24/bin/
Installing PHP CLI man page:      /application/php5.6.24/php/man/man1/
Installing PHP FPM binary:        /application/php5.6.24/sbin/
Installing PHP FPM config:        /application/php5.6.24/etc/
Installing PHP FPM man page:      /application/php5.6.24/php/man/man8/
Installing PHP FPM status page:   /application/php5.6.24/php/php/fpm/
Installing PHP CGI binary:        /application/php5.6.24/bin/
Installing PHP CGI man page:      /application/php5.6.24/php/man/man1/
Installing build environment:     /application/php5.6.24/lib/php/build/
Installing header files:           /application/php5.6.24/include/php/
Installing helper programs:       /application/php5.6.24/bin/
  program: phpize
  program: php-config
Installing man pages:             /application/php5.6.24/php/man/man1/
  page: phpize.1
  page: php-config.1
Installing PEAR environment:      /application/php5.6.24/lib/php/
[PEAR] Archive_Tar    - installed: 1.4.0
[PEAR] Console_Getopt - installed: 1.4.1
[PEAR] Structures_Graph- installed: 1.1.1
[PEAR] XML_Util       - installed: 1.3.0
[PEAR] PEAR           - installed: 1.10.1
Wrote PEAR system config file at: /application/php5.6.24/etc/pear.conf
You may want to add: /application/php5.6.24/lib/php to your php.ini include_path
/tools/php-5.6.24/build/shtool install -c ext/phar/phar.phar /application/php5.6.24/bin
ln -s -f phar.phar /application/php5.6.24/bin/phar
Installing PDO headers:           /application/php5.6.24/include/php/ext/pdo/

[[email protected] php-5.6.24]# ln -s /application/php5.6.24/ /application/php
[[email protected] php-5.6.24]# cp php.ini-production /application/php/lib/php.ini
[[email protected] php-5.6.24]# cd /application/php/etc/
[[email protected] etc]# cp php-fpm.conf.default php-fpm.conf
[[email protected] etc]# cat php-fpm.conf
[global]
[www]
user = nginx
group = nginx
listen = 127.0.0.1:9000
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3

[[email protected] etc]# /application/php/sbin/php-fpm 

nginx配置如下 
[[email protected] etc]# cat /application/nginx/conf/nginx.conf
worker_processes  2;
events {
    worker_connections  1024;
}
http {
log_format  main  ‘$remote_addr - $remote_user [$time_local] "$request" ‘
                      ‘$status $body_bytes_sent "$http_referer" ‘
                      ‘"$http_user_agent" "$http_x_forwarded_for"‘;
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  www.martin.com martin.com;
        location / {
            root   html/www;
            index  index.php index.html index.htm;
        }
        
         
        location ~ .*\.(php|php5)?$ {
            root  html/www;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            include fastcgi.conf;
               }
         access_log  logs/access_www.log  main;        
   }
    server {
        listen       80;
        server_name  bbs.martin.com;
        location / {
            root   html/bbs;
            index  index.php index.html index.htm;
        }
      
             
        location ~ .*\.(php|php5)?$ {
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            include fastcgi.conf;
               }
         access_log  logs/access_bbs.log  main;       
    }
###status
   server{
      listen 80;
      server_name status.martin.org;
      location / {
      stub_status on;
      access_log off;
        }
   }
}

浏览器访问测试    (www.martin.com---172.16.80.117)

至此整个LNMP环境准备完成,zabbix(在LNMP环境下)选择源码编译安装

curl 7.19.7  系统默认版本,升级该软件版本,否则后面邮件功能会有问题

[[email protected] application]# rpm -Uvh http://www.city-fan.org/ftp/contrib/yum-repo/rhel6/x86_64/city-fan.org-release-1-13.rhel6.noarch.rpm
Retrieving http://www.city-fan.org/ftp/contrib/yum-repo/rhel6/x86_64/city-fan.org-release-1-13.rhel6.noarch.rpm
warning: /var/tmp/rpm-tmp.jSwm5A: Header V3 DSA/SHA1 Signature, key ID b56a8bac: NOKEY
Preparing...                ########################################### [100%]
   1:city-fan.org-release   ########################################### [100%]
[[email protected] application]#  yum install libcurl -y
[[email protected] application]# curl -V   再次查看版本
curl 7.50.1 (x86_64-redhat-linux-gnu) libcurl/7.50.1 OpenSSL/1.0.1e zlib/1.2.3 c-ares/1.11.0 libidn/1.18 libssh2/1.7.0 nghttp2/1.6.0
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp 
Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz HTTP2 UnixSockets Metalink 
安装zabbix依赖包
[[email protected] zabbix-3.0.4]#  yum -y install mysql-devel libxml2-devel net-snmp-devel libcurl-devel     
[[email protected] tools]# wget http://ncu.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.0.4/zabbix-3.0.4.tar.gz 
[[email protected] tools]# tar xf zabbix-3.0.4.tar.gz 
[[email protected] tools]# cd zabbix-3.0.4
[[email protected] zabbix-3.0.4]#  ./configure --prefix=/application/zabbix-server --enable-server --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --enable-agent --enable-proxy 
  Enable server:         yes
  Server details:
    With database:         MySQL
    WEB Monitoring:        cURL
    Native Jabber:         no
    SNMP:                  yes
    IPMI:                  no
    SSH:                   no
    TLS:                   no
    ODBC:                  no
    Linker flags:             -L/usr/lib64/mysql        -L/usr/lib64      -rdynamic  
    Libraries:               -lmysqlclient      -lxml2    -lnetsnmp      -lcurl -lm -ldl -lrt  -lresolv 
  Enable proxy:          yes
  Proxy details:
    With database:         MySQL
    WEB Monitoring:        cURL
    SNMP:                  yes
    IPMI:                  no
    SSH:                   no
    TLS:                   no
    ODBC:                  no
    Linker flags:             -L/usr/lib64/mysql       -L/usr/lib64      -rdynamic  
    Libraries:               -lmysqlclient     -lxml2    -lnetsnmp      -lcurl -lm -ldl -lrt  -lresolv 
  Enable agent:          yes
  Agent details:
    TLS:                   no
    Linker flags:              -rdynamic  
    Libraries:                 -lcurl -lm -ldl -lrt  -lresolv 
  Enable Java gateway:   no
  LDAP support:          no
  IPv6 support:          no
***********************************************************
*            Now run ‘make install‘                       *
*                                                         *
*            Thank you for using Zabbix!                  *
*              <http://www.zabbix.com>                    *
***********************************************************

[[email protected] zabbix-3.0.4]# make install

由于zabbix启动脚本路径默认指向的是/usr/local/sbin路径,因此,需要提前建立软链接
[[email protected] zabbix-3.0.4]# ln -s /application/zabbix-server/sbin/* /usr/local/sbin/
[[email protected] zabbix-3.0.4]# ln -s /application/zabbix-server/bin/* /usr/local/bin/

生成zabbix的web文件
[[email protected] zabbix-3.0.4]# mkdir /application/nginx/html/zabbix
[[email protected] zabbix-3.0.4]# cp -a /tools/zabbix-3.0.4/frontends/php/* /application/nginx/html/zabbix/

手动创建zabbix数据库及授权
[[email protected]s02 zabbix-3.0.4]# mysql -uroot -p123456
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.5.49-log MySQL Community Server (GPL)
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.
mysql> create database zabbix default charset utf8;
Query OK, 1 row affected (0.16 sec)
mysql> grant all on zabbix.* to [email protected]‘localhost‘ identified by ‘zabbix‘;
Query OK, 0 rows affected (0.16 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.19 sec)

导入zabbix数据库文件
[[email protected] mysql]# pwd
/tools/zabbix-3.0.4/database/mysql
[[email protected] mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql 
[[email protected] mysql]# mysql -uzabbix -pzabbix zabbix < images.sql 
[[email protected] mysql]# mysql -uzabbix -pzabbix zabbix < data.sql

配置zabbix server端

修改zabbix配置文件,配置zabbix_server
cd /usr/local/zabbix/etc
vi/usr/local/zabbix/etc/zabbix_server.conf
DBName=zabbix #数据库名称
DBUser=zabbix #数据库用户名
DBPassword=zabbix#数据库密码
ListenIP=localhost #数据库ip地址
DBSocket=/tmp/mysql.sock  #这里填写mysql实际的socket位置  查看/etc/my.cnf即可
AlertScriptsPath=/application/zabbix-server/share/zabbix/alertscripts#zabbix运行脚本存放目录
修改php.ini文件  /application/php/lib/php.ini
post_max_size = 16M
max_execution_time = 300
memory_limit = 128M
max_input_time = 300
date.timezone = Asia/Shanghai
always_populate_raw_post_data = -1
extension=php_gettext.dll

修改nginx配置文件如下
[[email protected] mysql]# cat /application/nginx/conf/nginx.conf
worker_processes  2;
events {
    worker_connections  1024;
}
http {
log_format  main  ‘$remote_addr - $remote_user [$time_local] "$request" ‘
                      ‘$status $body_bytes_sent "$http_referer" ‘
                      ‘"$http_user_agent" "$http_x_forwarded_for"‘;
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  www.martin.com martin.com;
        location / {
            root   html/zabbix;
            index  index.php index.html index.htm;
        }
        
         
        location ~ .*\.(php|php5)?$ {
            root  html/zabbix;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            include fastcgi.conf;
               }
         access_log  logs/access_zabbix.log  main;        
   }
            
    server {
        listen       80;
        server_name  bbs.martin.com;
        location / {
            root   html/bbs;
            index  index.php index.html index.htm;
        }
      
             
        location ~ .*\.(php|php5)?$ {
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            include fastcgi.conf;
               }
         access_log  logs/access_bbs.log  main;       
    }
###status
   server{
      listen 80;
      server_name status.martin.org;
      location / {
      stub_status on;
      access_log off;
        }
   }
}
[[email protected] mysql]# /application/nginx/sbin/nginx -s reload
[[email protected] mysql]# useradd -s /sbin/nologin -M zabbix 
[[email protected] mysql]# /etc/init.d/zabbix_server start    
Starting zabbix_server:                                    [  OK  ]
[[email protected] mysql]# /application/php/sbin/php-fpm   
[[email protected] init.d]# /application/zabbix-server/sbin/zabbix_server -c /application/zabbix-server/etc/zabbix_server.conf

浏览器访问http://www.martin.com/

用户名/密码 默认是  Admin/zabbix

再来看下中文界面

安装agent
[[email protected] tools]# wget  http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm      
[[email protected] tools]# rpm -ivh zabbix-release-3.0-1.el6.noarch.rpm 
Preparing...                ########################################### [100%]
   1:zabbix-release         ########################################### [100%]
[[email protected] tools]# yum -y install zabbix-agent
[[email protected] tools]# /etc/init.d/zabbix-agent start    启动agent
Starting Zabbix agent:                                     [  OK  ]

按照图示步骤启用主机监控即可

这次我们简单介绍到这里,下篇我们正式开始介绍zabbix监控

时间: 2024-10-06 14:41:24

运维监控平台之zabbix详解1的相关文章

运维监控平台之zabbix详解2

1.Zabbix架构 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题. Zabbix的运行架构如下图所示: 2.组件 zabbix由以下几个组件部分构成: 1).Zabbix Server:负责接收agent发送的报告信息的核心组件,所有配置,统计数据及操作数据均由其组织进行: 2).Database Storage:专用于存储所有

企业运维监控平台架构设计与实现(ganglia篇)

一.Cacti/Nagios/Zabbix/centreon/Ganglia之抉择 1.cacti Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具. 简单的说Cacti 就是一个PHP 程序.它通过使用SNMP 协议获取远端网络设备和相关信息,(其实就是使用Net-SNMP 软件包的snmpget 和snmpwalk 命令获取)并通过RRDTOOL 工具绘图,通过PHP 程序展现出来.我们使用它可以展现出监控对象一段时间内的状态或者性能趋势图. 2

运维自动化之Cobbler系统安装详解

原文链接 参考文档 参考文档SA们现在都知道运维自动化的重要性,尤其是对于在服务器数量按几百台.几千台增加的公司而言,单单是装系统,如果不通过自动化来完成,根本是不可想象的. 运维自动化安装方面,早期一般使用人工配置pxe+dhcp+tftp配合kickstart,现在开源工具就多了,如cobbler,OpenQRM和Spacewalk.本文重点介绍Cobbler. Cobbler介绍 Cobbler是一个快速网络安装linux的服务,而且在经过调整也可以支持网络安装windows.该工具使用p

全新SaaS运维监控平台构建书

第一部分 引言 伴随的IT服务的发展,IT服务的概念也在发生着巨大的变化.IT运维服务已经由原来局限在用户自身环境下的IT服务,延伸到覆盖公用云.私有云.外包服务商等多纬度.全天候的SaaS运维模式, 从狭义理解,IT服务仅仅是为了解决信息系统出现的故障,在系统出现停顿的时候可以快速的恢复.而目前的IT服务已经包含了更多的内容,IT服务渗透在信息系统的整个生命周期之中.本文基于该理念,对IT服务系统的实现进行分析研究.文章基于网脊运维通SaaS(Software as aService)模式理念

Zabbix运维监控平台快速搭建实录

一.Zabbix运行架构 Zabbix是一个企业级的分布式开源监控解决方案.它能够监控各种服务器的健康型.网络的稳定性以及各种应用系统的可靠性.当监控出现异常时,Zabbix通过灵活i的告警策咯,可以为任何事件配置基于邮件.短信.微信等告警机制.而这所有的一切,都可以通过Zabbix提供的Web界面进行配置和操作,基于Web的前端页面还提供了出色的报告和数据可视化功能.这些功能和特性使运维人员可以非常轻松的搭建一套功能强大的运维监控管理平台. Zabbix的运行架构图如下: 从图中可以看出Zab

江西畅行高速IT运维监控平台--PIGOSS BSM

案例所属行业:高速公路行业 项目实施时间:2014年 1.1    项目背景     江西畅行高速工程(以下简称"畅行高速")与高速公路周边系统的建设基于用户的消费账户支付系统和结算系统.既包括高速公路的收费,也包括高速公路周边的连锁超市的消费,互联网业务为江西畅行高速周边服务. 目前,江西畅行高速进行网络建设和核心生产平台应用系统的建设.随着江西畅行高速信息化应用的不断推广,核心生产平台的稳定运行对项目的影响越来越大.随 着更多江西畅行高速业务系统上线运行和日常办公对业务系统的日益依

【项目动态】PIGOSS BSM IT运维监控平台 北京万兴建筑集团有限公司

案例所属行业:企业集团 项目实施时间:2016年 1 项目背景 北京万兴建筑集团有限公司成立于1985年,是一个以房建.市政.装饰.地产开发为四大支柱产业的大型综合性建筑企业集团.万兴集团注册资本金3.06亿元,现有总资产10多亿元,企业拥有一大批高素质专业技术管理人才,其中中高级职称专业技术人员300余人,国家一级.二级 注册建造师200人.年开复工面积500万平方米左右,建安产值约50亿元左右.万兴集团还积极参与社会公益事业,累计捐款1000多万元. 为保障各项业务的稳定运行,需要对IT基础

Linux运维--企业sudo权限规划详解 (实测一个堆命令搞定)

简述问题: 随着公司的服务器越来越多,人员流动性也开始与日俱增,以往管理服务器的陈旧思想应当摒弃,公司需要有 更好更完善的权限体系,经过多轮沟通和协商,公司一致决定重新整理规划权限体系,主管明确指出权限存在的问 题,并需要解决以往的root权限泛滥问题. 我作为本次权限规划的发起人,我了解到了公司现状后,经过多次与相关员工及领导沟通,确认了公司存在的 部分问题:  运维部基本入职离职流程中存在一些账号问题: 如  离职不报备,系统权限不回收.账号密码过于简单化 这样无疑给公司的服务器及数据安全造

2、自动化运维之SaltStack远程执行详解

SaltStack远程执行详解 ●目标(Targeting) ●模块(Module) ●返回(Returnners) 混合模式-C 选项 主机名设置参照: redis-node1-redis03-idc04-soa.example.com(电商) 1.1模块介绍 [[email protected] salt]# salt '*' service.available sshd linux-node1.zhurui.com: True linux-node2.zhurui.com: True 服务