Linux/Centos 无网环境安装zabbix

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

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

开始安装

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-develncurse -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_agentd的BASEDIR=/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_server和zabbix_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 from=1514981[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
技术分享图片
点击报警媒介,然后添加邮件接收人
技术分享图片
创建动作
技术分享图片
技术分享图片
技术分享图片
技术分享图片
配置完成

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

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

邮件报警内容如下:
技术分享图片
如果对此文有什么问题的话,请加下面微信一起探讨
技术分享图片

以上是关于Linux/Centos 无网环境安装zabbix的主要内容,如果未能解决你的问题,请参考以下文章

Mac+Linux+zabbix监控mysqlredis环境搭建

linux centos安装zabbix 4.0服务端

无网环境下centos7安装sysbench

无网环境下安装Mysql8.0

linux----centos7 yum安装lnmp+zabbix

linux(centos8):zabbix配置邮件报警(zabbix5.0)