ZabbixServer的安装(只有源码装zabbix才能装支持java)

搭建自定义yum仓库并安装支持包

yum -y install createrepo        #下载依赖关系命令
createrepo rpm               #生成依赖关系 vim /etc/yum.repos.d/cccc.repo     #创建yum源指定安装包 
[rpm]
name=rpm
baseurl=file:///root/rpm/
gpgcheck=
enabled= yum -y install pcre pcre-devel zlib-devel libaio libaio-devel libxml2 libxml2-devel bzip2-devel openssl openssl-devel net-snmp-devel net-snmp curl-devel gd gcc gcc-c++ make libjpeg-devel libpng-devel libcurl-devel perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker mysql-devel net-snmp-utils
#如果下一步出现问题,请注释掉yum配置文件里的本地光盘源
yum -y install libvpx-devel gd-devel

编译安装LNMP环境 (编译过程看不懂 看前边博客各项安装)

安装nginx

useradd -s /sbin/nologin -M www            
tar xf nginx-1.10..tar.gz -C /usr/src/
cd /usr/src/nginx-1.10./
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_ssl_module && make && make install
ln -s /usr/local/nginx/sbin/* /usr/local/sbin/
cd /usr/local/nginx/conf/
egrep -v "^$|#" nginx.conf.default > nginx.conf vim nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.php index.html index.htm;
}
location = /nginx-status {
stub_status on;
access_log off;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
} nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

安装mysql

tar xf mysql-5.5.-linux2.-x86_64.tar.gz -C /usr/local/
cd /usr/local/
mv mysql-5.5.-linux2.-x86_64 mysql
cd mysql/
/bin/cp support-files/my-small.cnf /etc/my.cnf
useradd -s /sbin/nologin -M mysql
chown -R mysql.mysql data
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld /etc/init.d/mysqld start
Starting MySQL.. SUCCESS!

安装libmcrypt

tar xf libmcrypt-2.5..tar.gz -C /usr/src/
cd /usr/src/libmcrypt-2.5./
./configure && make && make install

安装GD

tar xf GD-2.18.tar.gz -C /usr/src/
 yum install perl-ExtUtils-Embed -y
cd /usr/src/GD-2.18/
perl Makefile.PL
make && make install

安装PHP

tar xf php-5.6..tar.gz -C /usr/src/
cd /usr/src/php-5.6./
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-bz2 --with-curl --enable-sockets --disable-ipv6 --with-gd --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-freetype-dir=/usr/local --enable-gd-native-ttf --with-iconv-dir=/usr/local --enable-mbstring --enable-calendar --with-gettext --with-libxml-dir=/usr/local --with-zlib --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd --enable-dom --enable-xml --enable-fpm --with-libdir=lib64 --enable-bcmath
make && make install
cp php.ini-development /usr/local/php/etc/php.ini
vim /usr/local/php/etc/php.ini
max_execution_time =
max_input_time =
memory_limit = 256M
post_max_size = 32M
always_populate_raw_post_data = -
upload_max_filesize = 16M
date.timezone =Asia/Shanghai cd /usr/local/php/etc/
cp php-fpm.conf.default php-fpm.conf
vim php-fpm.conf
user = www
group = www

安装zabbix server端

编译安装zabbix服务器

useradd zabbix -s /sbin/nologin -M
tar xf zabbix-3.2..tar.gz -C /usr/src/
cd /usr/src/zabbix-3.2./
./configure --prefix=/usr/local/zabbix --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy --with-libxml2
make && make install
#由于zabbix启动脚本路径默认指向的是/usr/local/sbin路径,因此,需要提前建立软连接:
ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/
ln -s /usr/local/zabbix/bin/* /usr/local/bin/

配置zabbix的mysql环境

Zabbix服务器和mysql安装到一台服务器上,首先需要手动创建zabbix数据库,操作如下:
mysqladmin -uroot password ''
mysql -uroot -p123456 -e 'create database zabbix character set utf8;'
mysql -uroot -p123456 -e "grant all privileges on zabbix.* to zabbix@'localhost' identified by '123456';"
mysql -uroot -p123456 -e 'flush privileges;'
#如下数据的导入顺序不可以错
mysql -uzabbix -p123456 zabbix < /usr/src/zabbix-3.2./database/mysql/schema.sql
mysql -uzabbix -p123456 zabbix < /usr/src/zabbix-3.2./database/mysql/images.sql
mysql -uzabbix -p123456 zabbix < /usr/src/zabbix-3.2./database/mysql/data.sql

安装Zabbix web GUI

  • Zabbix web是php代码编写的,因此需要有php环境,前面已经安装好了lnmp,因此可以直接使用。
  • 默认的nginx安装的根目录为/ usr / local / nginx / html,因此,只需要Zabbix web的代码放到此目录即可。
  • Zabbix web的代码在Zabbix源码包中的frontends / php目录下,将这个php目录拷贝到/ usr / local / nginx / html /目录下并改名zabbix即可完成Zabbix web端的安装。
  • 在浏览器输入http:// IP / zabbix,然后会检查zabbix web运行环境是否满足,并提供连接数据库的相关信息即可,最后将连接数据库相关信息都存入文件zabbix / conf / zabbix.conf。 PHP中,这样就可以登录ZABBIX的网络平台了。
  • 默认的ZABBIX平台登录用户名为管理员,密码为ZABBIX。

复制zabbix web目录到nginx web根目录下

cp -rp /usr/src/zabbix-3.2./frontends/php /usr/local/nginx/html/zabbix
cd /usr/local/nginx/html/
chown -R www.www zabbix
ll -d zabbix/
drwxr-xr-x. www www Feb zabbix/

启动nginx服务及php-fpm

/usr/local/nginx/sbin/nginx
netstat -antup | grep nginx
tcp 0.0.0.0: 0.0.0.0:* LISTEN /nginx
/usr/local/php/sbin/php-fpm
netstat -antup | grep php-fpm
tcp 127.0.0.1: 0.0.0.0:* LISTEN /php-fpm

登录web根据提示生成zabbix.conf.php配置文件

在浏览器输入:IP/zabbix

zabbix server的配置

zabbix_server.conf配置

通过源码安装方式将zabbix安装到/ usr / local / zabbix下面,zabbix server的配置文件为/usr/local/zabbix/etc/zabbix_server.conf

#将zabbix_server.conf文件内容修改成如下所示:
vim /usr/local/zabbix/etc/zabbix_server.conf
   ListenPort=         #zabbix server监听端口
LogFile=/tmp/zabbix_server.log #zabbix server日志路径
DBName=zabbix           #zabbix server连接MySQL数据库的数据库名
DBUser=zabbix           #zabbix server连接MySQL数据库的用户名
DBPassword=         #zabbix server连接MySQL数据库的密码
DBSocket=/tmp/mysql.sock    #MySQL的实例文件位置
StartPollers=           #用于设置zabbix server服务启动时启动Pollers(主动收集数据进程)的数量,数量越多,则服务端吞吐能力越强,同时对系统资源消耗越大
StartTrappers=         #用于设置zabbix server服务启动时启动Trappers(负责处理Agentd推送过来的数据的进程)的数量。Agentd为主动模式时,zabbix server需要设置这个值大一些。
StartDiscoverers=         #用于设置zabbix server服务启动时启动Discoverers进程的数量,如果zabbix监控报Discoverers进程忙时,需要提高该值。
ListenIP=0.0.0.0         #zabbix server启动的监听端口对哪些ip开放,Agentd为主动模式时,这个值建议设置为0.0.0.0
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts
                        #zabbix server运行脚本存放目录,一些供zabbix server使用的脚本,都可以放在这里。

添加相关服务和端口到系统配置文件

编辑/ etc / services中文件,在最后添加以下代码:

vim /etc/services
zabbix-agent /tcp # Zabbix Agent
zabbix-agent /udp # Zabbix Agent
zabbix-trapper /tcp # Zabbix Trapper
zabbix-trapper /udp # Zabbix Trapper

其中,10051是zabbix server的监听端口,10050是zabbix agent的监听端口。

添加管理维护脚本

从ZABBIX源码包杂项/ init.d /的fedora的/ CORA /目录中找到zabbix_server和zabbix_agentd,然后复制到的/etc/init.d目录下,由于我们的zabbix_agnetd采用转的安装方式,会自动添加启动脚本,所以在此处,我们不进行zabbix_agentd的启动脚本的复制。

cp /usr/src/zabbix-3.2./misc/init.d/fedora/core/zabbix_server /etc/init.d/zabbix_server
chmod +x /etc/init.d/zabbix_server
chkconfig zabbix_server on

启动zabbix_server端进程

/etc/init.d/zabbix_server start
netstat -antup | grep zabbix_server
tcp 0.0.0.0: 0.0.0.0:* LISTEN /zabbix_server

zabbix_agent的安装与配置

zabbix agent端的安装建议采用rpm包方式安装,可从http://repo.zabbix.com/zabbix/3.2/下载zabbix的agent端rpm包,版本与zabbix server端保持一致,安装如下:

wget http://repo.zabbix.com/zabbix/3.2/rhel/6/x86_64/zabbix-agent-3.2.4-1.el6.x86_64.rpm
rpm -ivh zabbix-agent-3.2.-.el6.x86_64.rpm

安装完成后,zabbix agent端已经安装完成了,zabbix agent端的配置目录位于/ etc / zabbix下,可在此目录进行配置文件的修改。

特别提示:

  • zabbix server的源码包本身就包含了zabbix server端和zabbix agent端,因此,zabbix服务器端无需再安装zabbix agent的rpm包。
  • 然而zabbix agent的rpm包是为了方便在服务器上进行快速安装而设计的快捷安装包。
  • 因此为了统一,监控端和被监控端的zabbix agent我们都用rpm的安装方式

修改zabbix agent端的配置文件

#将内容修改为如下所示:
vim /etc/zabbix/zabbix_agentd.conf
   PidFile=/var/run/zabbix/zabbix_agentd.pid    #进程pid存放路径
LogFile=/var/log/zabbix/zabbix_agentd.log   #zabbix agent日志存放路径
Server=127.0.0.1,192.168.0.220           #指定zabbix server端IP地址
ListenPort=                  #指定agentd的监听端口
StartAgents=                  #指定启动agentd进程数量。设置0表示关闭
ServerActive=192.168.0.220:         #启用agnetd主动模式,启动主动模式后,agentd将主动将收集到的数据发送到zabbix server端,Server Active后面指定的IP就是zabbix server端IP
Hostname=192.168.0.220                #需要监控的主机名或者IP地址,agent装在哪写哪的IP
Include=/etc/zabbix/zabbix_agentd.d/ #相关配置都可以放到此目录下,自动生效
UnsafeUserParameters=                #启用agent端自定义item功能,设置此参数为1后,就可以使用UserParameter指令了。UserParameter用于自定义item

启动zabbix_agent端进程

/etc/init.d/zabbix-agent start
netstat -antup | grep zabbix_agent
tcp 0.0.0.0: 0.0.0.0:* LISTEN /zabbix_agentd
tcp ::: :::* LISTEN /zabbix_agentd
chkconfig zabbix-agent on

设置开机自启动

chkconfig mysqld on
chkconfig zabbix_server on

vim /etc/rc.local
mkdir /var/run/zabbix
chown root:zabbix /var/run/zabbix
chmod 0775 /var/run/zabbix
/usr/local/sbin/nginx
/usr/local/php/sbin/php-fpm
/etc/init.d/zabbix-agent stop

解决zabbix-agent重启无法创建PID问题

mkdir /var/run/zabbix
chown root:zabbix /var/run/zabbix
chmod /var/run/zabbix

测试zabbix server监控

如何知道zabbix server监控已经生效呢,可通过zabbix server上的zabbix_get命令来完成,在zabbix服务器上执行如下命令即可进行测试:

/usr/local/zabbix/bin/zabbix_get -s 192.168.50.166 -p  -k "system.uptime"
-s 是指定zabbix agent端的IP地址
-p 是指定zabbix agent端的监听端口
-k 是监控项,即item
如果有输出结果,表面zabbix server可以从zabbix agent获取数据,配置成功。

具体操作如下:

#在监控端zabbix_server端进行如下操作
/usr/local/zabbix/bin/zabbix_get -s 192.168.50.166 -p -k "system.uptime"
#有数据显示就代表监控正常

自定义一个监控项

在zabbix agent配置文件里定义这个监控项

vim /etc/zabbix/zabbix_agentd.conf
Include=/etc/zabbix/zabbix_agentd.d/ #我们发现zabbix_agentd.d目录已经默认被include进入了主配置文件。

由于zabbix_agentd.conf配置文件默认导入了所有zabbix_agentd.d目录下的内容,因此我们可以将监控项定义到zabbix_agentd.d目录下。

参考模版,自己定义监控项的获取命令

vim /etc/zabbix/zabbix_agentd.d/监控名.conf
UserParameter=MEM,free |awk 'NR==2{print $NF}'
固定格式 自定义监控key键, 监控命令(查看总内存)
/etc/init.d/zabbix-agent restart

在zabbix server端测试获取自定义的监控项信息

/usr/local/zabbix/bin/zabbix_get -s 192.168.50.166 -p  -k "MEM"

zabbix server端与agent端源码安装 自定义监控项的更多相关文章

  1. [原创] zabbix学习之旅一:源码安装

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

  2. zabbix-3.4.14源码安装

    此次介绍一下,zabbix的源码安装,因为zabbix的依赖很多,所以源码安装有很多依赖需要安装 首先,下载zabbix源码包 wget https://nchc.dl.sourceforge.net ...

  3. zabbix源码安装实例

    环境 系统                 Centos7 zabbix版本      Zabbix 3.4.15 (revision 86739) zabbix源码安装 .tar.gz cd zab ...

  4. 源码安装和配置zabbix 3.0 LST

    Zabbix是什么 Zabbix 是由Alexei Vladishev创建,目前由Zabbix SIA在持续开发和支持. Zabbix 是一个企业级的分布式开源监控方案. Zabbix是一款能够监控各 ...

  5. zabbix源码安装后,设置为服务启动和关闭

    zabbix源码安装,使用service启动与关闭服务 1. zabbix客户端的系统服务脚本 1.1 拷贝启动脚本 zabbix的源码提供了系统服务脚本,在/usr/local/src/zabbix ...

  6. 部署zabbix监控平台(源码安装)

    案例:部署Zabbix监控平台 1 问题 本案例要求部署一台Zabbix监控服务器,一台被监控主机,为进一步执行具体的监控任务做准备: 安装LNMP环境 源码安装Zabbix 安装监控端主机,修改基本 ...

  7. 源码安装zabbix

    源码安装zabbix 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.     欢迎加入:高级运维工程师之路 598432640 前言:参考网上多篇源码安装的连接,自己把安装过程丢在这 ...

  8. Zabbix监控系统部署:源码安装

    1. 概述1.1 基础环境2. 部署过程2.1 创建用户组2.2 下载源码解压编译安装2.2.1 下载源码解压2.2.2 YUM安装依赖环境2.2.3 编译安装最新版curl2.2.4 更新GNU构建 ...

  9. CentOS Linux release 7.3源码安装zabbix

    CentOS Linux release 7.3安装zabbix 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 前言: 我去年用用centos6的环境搭建了一下 zabbix3.0 ...

随机推荐

  1. 各种web编辑器

    wangEditor,这是一个很轻量.简洁编辑器 UEditor:百度前端的开源项目,功能强大,基于 jQuery,但已经没有再维护,而且限定了后端代码,修改起来比较费劲 bootstrap-wysi ...

  2. Srping事物的隔离策略

    spring事务: 什么是事务: 事务逻辑上的一组操作,组成这组操作的各个逻辑单元,要么一起成功,要么一起失败. 事务特性(4种): 原子性 (atomicity):强调事务的不可分割. 一致性 (c ...

  3. namespace" 或The content of element type "mapper" must match "EMPTY"

    必须为元素类型 "mapper" 声明属性 "namespace" 或The content of element type "mapper" ...

  4. python基础:流程控制案例:

    1,简述编译型与解释型的语言,且分别列出你知道的哪些语言属于编译型,哪些属于解释型. 答:简单理解编译型语言类似谷歌翻译,整篇读入整篇翻译,代表语言有C语言,解释型语言类似同   声传译,读入一行翻译 ...

  5. chrome上一些好用的插件

    1. Super Auto Refresh Plus - 这个插件可以自动刷新网页 2. 屏蔽百度推广 - 这个插件可以屏蔽百度搜索的推广广告

  6. Mac&Appium&Python自动化测试-Appium安装

    基础配置 1.JAVA和Git就不用多说了 2.Brew,也就是homebrew,它是MacOSX上的软件包管理工具,它就等同于linux上的apt-get.yum,如果没有安装,可以通过如下命令安装 ...

  7. bat %n 判断传入的参数值和使用注意

    bat %n 判断传入的参数值和使用注意 if "%1" == "" echo empty 1 if exist "%1" echo 1pa ...

  8. HashMap源码分析四

        HashMap源码在jdk1.8中,改动挺大,里面内容已经变的非常复杂了,后面另起博客分析.jdk1.8以前,HashMap一直是数组加链表的数据结构,在数组的某个下标位置,有多次碰撞,则使用 ...

  9. mysql基础_操作数据库以及表

    1.数据库的操作 create database 数据库名:#一般创建方式 create database 数据库名 show databases;#查看所有数据 drop database 数据库名 ...

  10. Circular view path [mydemo]: would dispatch back to the current handler URL [/mydemo] again. Check your ViewResolver setup!

    简单创建一个springboot工程 pom.xml <?xml version="1.0" encoding="UTF-8"?><proje ...