server : Ubuntu 16.04

zabbix: 2.2.23源码包

安装 gcc,curl,make,snmp 软件和zabbix依赖一些php 扩展包

sudo apt-get install curl gcc make snmp php-gd php-mysql php-bcmath php-mbstring php-xml  php-curl libcurl3 libcurl4-openssl-dev

安装 Apache,Mysql,PHP,PHPMyadmin

sudo apt-get install apache2 mysql-server mysql-client
sudo apt-get install php php-mysql libapache2-mod-php
sudo apt-get install php-gd php-gmp
sudo apt-get install phpmyadmin

进入mysql,添加本地数据库使用的zabbix_user

use mysql;
create database zabbix character set utf8;
grant all privileges on zabbix.* to zabbix_user@'localhost' identified by '123456';

官网下载解压软件包。下载地址

下载的是源码包souces

进入到放zabbix-2.2.23.tar.gz的文件夹

tar -zxvf zabbix-2.2.23.tar.gz #解压文件
cd zabbix-2.2.23
tar -zxvf zabbix-2.2.23.tar.gz

导入数据库表

终端命令:

mysql -u root -p #登入数据库

sql:

use zabbix;
source /home/waka/zabbix-2.2.23/database/mysql/schema.sql;
source /home/waka/zabbix-2.2.23/database/mysql/images.sql;
source /home/waka/zabbix-2.2.23/database/mysql/data.sql ;

./configure --prefix=/usr/local/zabbix --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy

如果最后面显示

checking for mysql_config... no
configure: error: MySQL library not found

需要安装mysql-devel

sudo apt-get install libmysqld-dev
sudo make install

修改server配置文件

sudo vim /usr/local/zabbix/etc/zabbix_server.conf
LogFile=/tmp/zabbix_server.log
PidFile=/tmp/zabbix_server.pid
DBName=zabbix
DBUser=zabbix_user
DBPassword=123456 #指定zabbix数据库密码

修改Agent配置文件

sudo vim /usr/local/zabbix/etc/zabbix_agentd.conf
PidFile=/tmp/zabbix_agentd.pid #进程PID

LogFile=/tmp/zabbix_agentd.log #日志保存位置

EnableRemoteCommands=1 #允许执行远程命令

Server=127.0.0.1 #agent端的ip,因为我是本机的agent
ServerActive=127.0.0.1
Hostname=Zabbix server #必须与zabbix创建的host name相同

添加web前段php文件

 cd zabbix-2.2.23/frontends/
sudo mkdir -p /var/www/html/zabbix # 创建apache的一个目录
sudo cp -rf php /var/www/html/zabbix
sudo chown -R zabbix:zabbix /var/www/html/zabbix

web前端安装配置

修改PHP相关参数

vim php.ini

php的配置项改为类似下面的配置

max_execution_time = 300
max_input_time = 300
memory_limit = 128M
post_max_size = 32M
date.timezone = Asia/Shanghai
mbstring.func_overload=2

在客户端浏览器上面访问zabbix,开始WEB的前端配置,http://ipaddress/zabbix/php,按提示点击下一步

Step1:下一步(Next)

Step2: 如果全部OK的话才能进行下一步的安装,如果有错误请返回到server端检查相关的软件包是否安装或者php配置项是否配置正确。

Step3: 配置数据库信息

Step4: 输入服务器端 host name or host IP addres;

最后会自动写入配置文件:zabbix.conf.php,配置完成后出现登陆界面,默认的用户名为:admin,密码为:zabbix。


启动zabbix服务

在zabbix安装目录下面可以直接启动

/usr/local/zabbix/sbin/zabbix_server start
/usr/local/zabbix/sbin/zabbix_agentd start

至此,zabbix server端的安装完毕,我们可以通过浏览器来访问。如图:

登陆账户是Admin

密码是zabbix

在 zabbix server端执行 zabbix_get,出现No route to host

waka@ubuntus1:/usr/local/zabbix/bin$ ./zabbix_get -s 192.168.1.158 -p 10050 -k "system.uptime"
zabbix_get [3080]: Get value error: cannot connect to [[192.168.1.158]:10050]: [113] No route to host zabbix_get -s 192.168.1.158 -k system.cpu.switches

上面 192.168.1.158 是我测试zabbix angent的ip地址

原因是如果在能ping通ip,但不能连接上,是zabbix server的服务器或者zabbix agent的服务器的 防火墙阻止了 10050端口

解决方法:

  1. 关闭防火墙
  2. 开放 10050端口

需要确保 zabbix server和zabbix agent 2个端都是防火墙开放 10050端口或者关闭了防火墙,才能让zabbix_get 成功

#service iptables stop #停止iptables服务
#service firewalld stop #停止centos firewalld服务
sudo iptables -A INPUT -s 192.168.1.158 -m tcp -p tcp --dport 10050 -j ACCEPT

上面 192.168.1.158 是我测试zabbix angent的ip地址


Centos 6 angent:

rpm -ivh https://repo.zabbix.com/zabbix/3.4/rhel/6/x86_64/zabbix-release-3.4-1.el6.noarch.rpm
rpm -e zabbix-release-2.2-1.el6.noarch #如果安装了旧版本,需要卸载
yum install zabbix-agent
sudo service zabbix-agent start
sudo service zabbix-agent stop
sudo service zabbix-agent status
sudo vim /etc/zabbix/zabbix_agentd.conf
netstat -ltn # 查看端口 sudo service iptables status # 检测防火墙状态 yum install zabbix-agent
rpm -ivh https://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm
yum install zabbix-agent

/etc/zabbix/zabbix_agentd.conf的配置

Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=Zabbix server # 尽量和Zabbix server中配置的名称一致

cat /var/log/zabbix/zabbix_agentd.log

启动错误:

zabbix_agentd [2052]: cannot open "/dev/null": [13] Permission denied

解决:

chmod 666 /dev/null
active check configuration update from [127.0.0.1:10051] started to fail (cannot connect to [[127.0.0.1]:10051]: [111] Connection refused)

解决方式是: 编辑/etc/zabbix/zabbix_agentd.conf,注释掉ServerActive=127.0.0.1


启动服务端的zabbix-agent时出现

using configuration file: /etc/zabbix/zabbix_agentd.conf
listener failed: socket() for [[-]:10053] failed: [22] Invalid argument

无法解决.....


尝试另外一个单机的检测工具

yum install epel-release
yum install monitorix

配置文件 /etc/monitorix/monitorix.conf

启动 service monitorix start

访问 http://ip:8080/monitorix/

References
  1. Ubuntu16安装Mysql和mysql-devel包 安装mysql devel包
  2. 编译安装zabbix error: MySQL library not found 查找mysql_config
  3. [转载]解决zabbix在configure时候遇到的问题(Ubuntu)
  4. Zabbix linux agent 安装
  5. 详解zabbix安装部署(Server端篇)
  6. centOS6.9 防火墙的关闭以及开启 centos 开启和关闭防火墙
  7. Zabbix 报错 [113] No route to host
  8. zabbix: Get value error: cannot connect to [[192.168.10.131]:10050]: [111] Connection refused解决办法
  9. no route to host zabbix的解决办法
  10. zabbix监控系统客户端安装 zabbix agent的安装
  11. 疑难杂症——bash: /dev/null: Permission denied
  12. 比cacti更好的linux单机监控——Monitorix的安装与配置

尝试 zabbix 小记的更多相关文章

  1. 2018-01-03 烂尾工程: Java实现的汇编语言编译器

    在半年前的中文编程的尝试历程小记中简单介绍了这一项目. 由于短期内估计不会继续进行, 而且这个项目好像是至今个人在中文命名实践中的代码量最大的一个项目, 谨在此作一小结. 最新的源码库在program ...

  2. 2017-11-25 中文代码示例之Spring Boot 1.3.3演示

    "中文编程"知乎专栏原文 源码: program-in-chinese/jinxiaocun 由于这个演示项目成型于去年(详见中文编程的尝试历程小记), Spring Boot还是 ...

  3. Zabbix基本配置及监控主机

    监控主机一版需要在被监控的主机上安装Zabbix Agent 监控主机 安装zabbix-agent 首先需要在被监控的主机上安装agent,可以下载预编译好的RPM进行安装,下载地址:http:// ...

  4. Zabbix 漏洞分析

    之前看到Zabbix 出现SQL注入漏洞,自己来尝试分析. PS:我没找到3.0.3版本的 Zabbix ,暂用的是zabbix 2.2.0版本,如果有问题,请大牛指点. 0x00 Zabbix简介 ...

  5. zabbix 3.0.3 (nginx)安装过程中的问题排错记录

    特殊注明:安装zabbix 2.4.8和2.4.6遇到2个问题,如下:找了很多解决办法,实在无解,只能换版本,尝试换(2.2.2正常 | 3.0.3正常)都正常,最后决定换3.0.3 1.Error ...

  6. zabbix身份验证流程解析&绕过身份验证的方法

    由于实验室产品的监控模块的需求,需要绕过zabbix的验证模块,实现从二级平台到zabbix的无缝接入. 测试发现,zabbix的身份验证并不是想象的那么简单,为了实现功能,遂进行源码分析. zabb ...

  7. python调用zabbix接口实现Action配置

    要写这篇博客其实我的内心是纠结的,老实说,我对zabbix的了解实在不多.但新公司的需求不容置疑,当我顶着有两个头大的脑袋懵懵转入运维领域时,面前摆着两百多组.上千台机器等着写入zabbix监控的需求 ...

  8. ulua 路径小记 以及 lua require 机制整理

    ulua 路径小记 在学习ulua时,require模块的根路径可以为项目的Lua文件夹或者ToLua文件夹(Editor下),但是在package.path和package.cpath中并没有看到当 ...

  9. 小记初试tornado与ajax,一些注意点

    一. 在 tornado模板中使用自定义方法 在tornado中可以使用两种方式,达到在模板中调用自定义方法的效果,第一种是使用UIMethod 和UIModule. 1.UIMethod使用方法示例 ...

随机推荐

  1. 设置非阻塞的套接字Socket

    当使用socket()函数和WSASocket()函数创建套接字时,默认都是阻塞的.在创建套接字之后,通过调用ioctlsocket()函数,将该套接字设置为非阻塞模式.函数的第一个参数是套接字,第二 ...

  2. 20140808 const和define区别 内联函数(inline) 栈和堆的地址分配 栈帧

    1.const和define区别 const有数据类型(不能改变的变量),define只是简单的字符串替换,没有数据类型. C++程序用const完全取代 define. const还可以类成员函数为 ...

  3. Mysql 命令行下建立存储过程

    建立存储过程的sql如下: CREATE PROCEDURE  proc_variable () BEGIN DECLARE dec_var_ VARCHAR(100); DECLARE rep_nu ...

  4. 用node-http-proxy搭建代理

    程序员三大必备网站是:Google.Github.StackOverflow.如果你还在用Baidu搜索技术文章的话,我想说的是,少年你已经被鄙视很多年了,赶紧换成谷歌吧,不要再被鄙视了!Github ...

  5. C# WinfForm 控件之dev表格 GridControl

    基本用法 1.新建一个winformAPP 放一个gridControl 为gridC 再放一个button 用法与dataGrid一样 代码如下: /// <summary> /// 显 ...

  6. Redis数据结构之压缩列表-ziplist

    为了节约内存,在zset和hash容器对象元素个数较少时,Redis会采用压缩列表(ziplist)进行存储. 压缩列表是一块连续的内存空间,元素之间紧挨着存储,不存在冗余 一个压缩列表可以包含任意多 ...

  7. 【HDUOJ】4280 Island Transport

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4280 题意:有n个岛屿,m条无向路,每个路给出最大允许的客流量,求从最西的那个岛屿最多能运用多少乘客到 ...

  8. 什么是URI、URL、URN、URC和Data URI?

    前言 不知道大家有没有电话拨号通过'猫'上网的经历,那时测试网络是否连接,最好的方式就是打开浏览器输入: www.baidu.com 那会管这一连串字母叫' 网址 '.之后上大学(计算机专业),知道了 ...

  9. Android基础——框架模式MVC在安卓中的实践

    本篇文章包含以下内容: MVC的介绍 MVC的实践 MVC的介绍 MVC (Model View Controller),是模型(model)视图(view)控制器(controller)的缩写,一种 ...

  10. 在jquery中应该使用prop方法来获取和设置checked属性,不应该使用attr。

    在jquery中应该使用prop方法来获取和设置checked属性,不应该使用attr. $("#checkAll").prop("checked", true ...