Linux/Centos 无网环境安装zabbix

zabbix 是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由2部分构成,zabbix server与可选组件zabbix agent。

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

安装使用

zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。zabbix agent可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows (2000/2003/XP/Vista)等系统之上。
zabbix server可以单独监视远程服务器的服务状态;同时也可以与zabbix agent配合,可以轮询zabbix agent主动接收监视数据(agent方式),同时还可被动接收zabbix agent发送的数据(trapping方式)。

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

搭建Zabbix监控环境

要想搭建一个Zabbix的工作环境,需要从服务器入手。与服务器通信,管理员需要使用一个Zabbix前端界面,与Zabbix服务器和数据库进行通信。三个关键(界面、服务器和数据库)可以安装在同一台服务器上,但是如果你拥有一个更大更复杂的环境,将它们安装在不同的主机上也是一个选项。Zabbix服务器能够直接监控到同一网络中的设备,如果其他网络的设备也需要被监控,那还需要一台Zabbix代理服务器。

 特点

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

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

介绍

 本文是在centos6.8-64位系统上安装zabbix3.4.8版本

本文中用到的所有软件添加最下方二维码免费提供


本文是在lnmp环境上搭建zabbix3.4.8

Nginx版本:1.9.3 源码编译安装

Mysql版本:5.6.32 源码编译安装

php版本:5.6.9 源码编译安装

zabbix版本:3.4.8 源码编译安装

下面开始安装

系统环境准备

关闭防火墙

#service iptables stop

#chkconfig  iptables off

关闭selinux

#setenforce 0

#vim  /etc/sysconfig/selinux //修改如下

配置本地yum

配置本地yum源,如果机器有网络yum源,此步骤忽略

上传Centos6.8系统镜像到服务器目录:/data/zabbix


挂载系统镜像盘

#mkdir /data/yum/

#mount -o loop /data/zabbix/CentOS-6.8-x86_64-bin-DVD1.iso /data/yum

#df –h //挂载完后如下所示

新建一个目录,把镜像里面的所有东西都拷贝出来,因为在后面安装rpm包的时候有些包系统镜像里面没有,这时候需要去网络yum源去下载包然后传到我们本地yum源里放rpm包的地方,系统盘挂载是不允许写入的,所以我们挂载后把所有的文件都拷贝到一个新目录

操作如下:

#mkdir /data/yumserver

#cp –R /data/yum/* /data/yumserver/

复制完以后,我们去配置yum,操作如下

#cd /etc/yum.repos.d/

#mkdir bak

#cp  *  ./bak

#vim  yum.repo  //文件内容如下复制粘贴即可

[base]

name=yumserver

enabled=1

baseurl=file:///data/yumserver/

gpgcheck=0

#yumlist  //如果出现很多包说明yum可用

开始安装

1.Nginx安装

软件版本:version 1.9.3

上传nginx-1.9.3.tar.gz到服务器目录:/usr/local/src

使用yum安装依赖包

#yum install gcc zlib zlib-devel openssl openssl-devel pcre pcre-devel*ncurse* -y

注:yum安装包的途中,如果报错 说那个包没有去可以上网的服务器访问下面地址,ctrl+f 搜索报错的包名,缺那个包去找那个,下载后传到服务器目录:/data/yumserver/Packages

然后继续安装。下面安装php和zabbix可能也需要去下载rpm包

Rpm包下载地址:http://mirrors.163.com/centos/6/os/x86_64/Packages/

示例:


#cd  /usr/local/src

#tar  -zxvf  /usr/local/src/nginx-1.9.3.tar.gz

#cd nginx-1.9.3

#./configure --prefix=/usr/local/nginx --with-http_realip_module--with-http_sub_module --with-http_gzip_static_module    --with-http_stub_status_module   --with-pcre --with-http_ssl_module

#make  && make install

启动方法

#/usr/local/nginx/sbin/nginx

也可以通过/etc/init.d/nginx start|stop|restart方式

将附件里的nginx启动脚本上传到/etc/init.d/下

#chmod 755 /etc/init.d/nginx  //赋权

#chkconfig  --add nginx     //添加nginx为系统服务

#chkconfig  nginx on        //配置开机自启动

mysql安装

软件版本 MySQL-5.6.32

上传mysql-5.6.32-linux-glibc2.5-x86_64.tar.gz到服务器目录:/usr/local/src (软件包见附件)

#cd /usr/local/src

#tar -zxvf mysql-5.6.32-linux-glibc2.5-x86_64.tar.gz

#mv mysql-5.6.32-linux-glibc2.5-x86_64    /usr/local/mysql

#groupadd mysql

#useradd -g  mysql  mysql

#cd /usr/local/mysql

#mkdir /usr/local/mysql/data/tmp

#chown -R mysql:mysql /usr/local/mysql/data

#./scripts/mysql_install_db   --user=mysql  --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql

#vim /etc/my.cnf //复制以下内容

[mysqld]

datadir=/usr/local/mysql/data

socket=/usr/local/mysql/data/mysql.sock

character_set_server=gbk

user=mysql

default-storage-engine=INNODB

tmpdir=/usr/local/mysql/data/tmp

symbolic-links=0

innodb_buffer_pool_size= 1G

skip-name-resolve

event_scheduler= 1

port= 3306

server_id= 1

wait_timeout=2880000

interactive_timeout= 2880000

max_allowed_packet= 512M

join_buffer_size= 128M

sort_buffer_size= 2M

read_rnd_buffer_size= 2M

lower_case_table_names= 1

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[mysqldump]

quick

max_allowed_packet= 512M

 [client]

default-character-set=gbk

socket=/usr/local/mysql/data/mysql.sock

#cp support-files/mysql.server  /etc/init.d/mysqld

#chmod 755 /etc/init.d/mysqld

#vim /etc/init.d/mysqld   //文件开头添加如下内容

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

#chkconfig --add mysqld  //添加mysql为系统服务

#chkconfig mysqld on     //设置mysql开机自启动

#service mysqld start      //启动mysql

php安装

上传php-5.6.9.tar.gz到服务器目录:/usr/local/src

#cd /usr/local/src

#tar -zxvf php-5.6.9.tar.gz

#ln -sv php-5.6.9 php

# cd php/

# ./configure \

--prefix=/usr/local/php\

--with-config-file-path=/usr/local/php/etc\

--enable-inlin\

--disable-e-optimizationdebug \

--disable-rpath\

--enable-shared\

--enable-opcache\

--enable-fpm\

--with-mysql=/data/mysql\

--with-mysqli=/data/mysql/bin/mysql_config\

--with-pdo-mysql=/data/mysql\

--with-gettext\

--enable-mbstring\

--with-iconv\

--with-openssl\

--enable-bcmath\

--enable-soap\

--with-libxml-dir\

--enable-pcntl\

--enable-shmop\

--enable-sysvmsg\

--enable-sysvsem\

--enable-sysvshm\

--enable-sockets\

--with-curl\

--with-zlib\

--enable-zip\

--with-bz2\

--with-gd\

--with-freetype-dir\

--with-jpeg-dir\

--with-png-dir

(注意:配置过程中可能会因为环境不同,报错缺失rpm包,把报错信息复制粘贴百度,看是缺什么包,然后去网上下载回来yum安装 )

#make && make install

php.ini是php运行核心配置文件

php-fpm.conf是php-fpm进程服务的配置文件

#cp php.ini-production /usr/local/php/etc/php.ini

#cp /usr/local/php/etc/php-fpm.conf.default  /usr/local/php/etc/php-fpm.conf

#cp  sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

#chmod +x  /etc/init.d/php-fpm

fpm测试php配置

#/usr/local/php/sbin/php-fpm  –t

#chkconfig --add php-fpm

#chkconfig php-fpm on

#service php-fpm start

配置nginx+php

配置php

#vim /usr/local/php/etc/php-fpm.conf  //修改以下几项

user = www

group = www

listen = 10.42.221.56:8000  #使用真实ip

 编辑php的ini文件并修改以下下内容

#vim /usr/local/php/etc/php.ini

post_max_size = 16M

max_execution_time = 300

max_input_time = 300

date.timezone = Asia/Shanghai

always_populate_raw_post_data= -1

配置nginx

#vim /usr/local/nginx/conf/nginx.conf  //修改以下内容

user www;

server_name 10.42.221.56 ;

root  /usr/local/nginx/html;

location ~ ^/.*\.php$ {

           root /usr/local/nginx/html;

           fastcgi_pass   10.42.221.56:8000;

           fastcgi_index  index.php;

           fastcgi_param SCRIPT_FILENAME   $document_root$fastcgi_script_name;

           include        fastcgi_params;

#vim /usr/local/php/etc/php-fpm.conf   //修改以下两项

user = www

group = www

#groupadd  www

#useradd –g www www

#cd  /usr/local/nginx/html/

#vim   index.php  //写入下面内容

<?php phpinfo(); ?>

最后重启nginx和php-fpm

#/usr/local/nginx/sbin/nginx  –s  reload

#service    php-fpm restart

访问http://ip/index.php出现下图说明成功

    

zabbix安装

#tar -zxvf zabbix-3.4.8.tar.gz

#cd zabbix-3.4.8

设置web前端

#mkdir /usr/local/nginx/html/zabbix

#cp -R zabbix-3.4.3/frontends/php/*  /usr/local/nginx/html/zabbix

 设置nginx的执行和所有者

#chown -R www.www /usr/local/nginx/html/zabbix

 赋予可执行权限

#chmod  -R 755 /usr/local/nginx/html/zabbix/

 

创建zabbix用户和组

#groupadd zabbix
#useradd -g zabbix zabbix编译安装zabbix
#./configure --enable-server --enable-agent --with-mysql=/data/mysql/bin/mysql_config --enable-ipv6 --enable-java --with-net-snmp --with-libcurl --with-libxml2 --with-unixodbc --with-ssh2 --with-openipmi --with-openssl --prefix=/usr/local/zabbix

 编译成功会出现下图

    

#make install

修改配置文件zabbix_server.conf

#vim  /usr/local/zabbix/etc/zabbix_server.conf //修改以下内容

DBName=zabbix

DBUser=zabbix

DBPassword=zabbix

#cp zabbix-3.4.8/misc/init.d/fedora/core/zabbix_server   /etc/init.d/zabbix_server

#cp zabbix-3.4.8/misc/init.d/fedora/core/zabbix_agentd   /etc/init.d/zabbix_agentd

修改 /etc/init.d/zabbix_server、/etc/init.d/zabbix_agentdBASEDIR=/usr/local/BASEDIR=/usr/local/zabbix

进入数据库,刚装的mysql密码为空,直接回车就行

#mysql –u root

mysql>CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;

mysql>GRANT ALL PRIVILEGES ON  *.*  TO‘zabbix'@'localhost’ IDENTIFIEDBY    'zabbix';

mysql>use zabbix;

mysql>source zabbix-3.4.8/database/mysql/schema.sql;

mysql>source zabbix-3.4.8/database/mysql/images.sql;

mysql>source zabbix-3.4.8/database/mysql/data.sql;

重启所有服务

启动nginx

#/usr/local/nginx/sbin/nginx –s reload

 重启数据库

#service mysqld  restart

 

启动zabbix_serverzabbix_agent

#/etc/init.d/zabbix_server start

#/etc/init.d/zabbix_agentd start

 设置zabbix开机自启

#chkconfig --add /etc/init.d/zabbix_server

#chkconfig --add /etc/init.d/zabbix_agentd

#chkconfig zabbix_server on

#chkconfig zabbix_agentd on

浏览器访问zabbix页面并进行初始化








安装完成后登陆如图所示

Zabbix实现邮件报警
安装插件
安装邮件发送工具mailx
#yum –y install mailx dos2unix
配置
修改/etc/mail.rc,复制以下内容
#vim /etc/mail.rc
set sendcharsets=iso-8859-1,utf-8
set [email protected]  #发件人邮箱地址
set smtp=smtp.163.com  #smtp服务器地址
set [email protected]  #认证用户
set smtp-auth-password=xxxxxxxxx #认证密码
set smtp-auth=login


修改zabbix主配置文件zabbix_server.conf,加入下面一行
#vim /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts


新建邮件发送脚本sendmail.sh
#cd /usr/lib/zabbix/alertscripts
#vim sendmail.sh  //复制以下内容
#!/bin/bash
FILE=/tmp/mailtmp.txt
echo "$3" >$FILE
dos2unix -k $FILE
mail -s "$2" $1 < $FILE
#chmod 755 sendmail.sh
#chown zabbix.zabbix sendmail.sh
#touch /tmp/mailtmp.txt
#chmod 755 /tmp/mailtmp.txt
#chown zabbix.zabbix /tmp/mailtmp.txt
配置web页面
创建媒体类型

管理–>报警媒介类型–>创建媒体类型 



按图示填写完成后点击更新,就会在报警媒介类型中看到刚才创建的名为Email类型
给用户添加报警媒介

此处以Admin用户为例 管理–>用户–>点击Admin 


点击报警媒介,然后添加邮件接收人 

创建动作





配置完成

添加完成后动作页面列表就会展示出来 
此时没有添加相应的触发器,如果系统中任何一台机器出现告警信息,就会通过邮件发送器发送到对应的邮箱中。

然后我们新建一个监控项,监听zabbix22端口如果22端口处于侦听状态,就发邮件报警

邮件报警内容如下:

如果对此文有什么问题的话,请加下面微信一起探讨


猜你喜欢

转载自blog.csdn.net/weixin_41078837/article/details/80853620