一、准备搭建环境:
1、系统:CentOS7
2、默认有使用linux服务器的基础,会使用一些简单的命令和vim等命令。
二、安装过程:
一、首先查看SELinux状态和防火墙
[root@localhost ~]# getenforce
Enforcing
[root@localhost ~]#systemctl status firewalld
三、关闭SELinux和防火墙
1、修改SELinux状态,这个修改是重启后永久生效
[root@localhost ~]# vim /etc/selinux/config
在文件中可以看到这一行
SELINUX=enforcing
把后面的参数修改为disabled
SELinux=disabled
[root@localhost ~]#systemctl stop firewalld
[root@localhost ~]#systemctl disable firewalld
-----------------分割线,下面说下这三个参数什么作用-------------------------
1)、enforcing:开启防火墙
2)、permissive:关闭防火墙,但是会产生相应的日志
3)、disabled:彻底关闭防火墙,没日志产生
-----------------下面回归正题----------------------------------------------------------
2、现在在不关机情况下关闭SElinux,这个在重启之后会失效,但是当前有效
[root@localhost ~]# setenforce 0
四、关闭防火墙
4、永久关闭防火墙
[root@localhost ~]# systemctl disable firewalld.service
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.se
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.servic
5、当前环境关闭防火墙
[root@localhost ~]# systemctl stop firewalld.service
五、安装数据库
1、安装MariaDB数据库
[root@localhost ~]# yum -y install mariadb-server mariadb-devel
----------------------分割线,下面讲下MariaDB和MySQL的渊源--------------------
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,10.0.9版起使用XtraDB(名称代号为Aria(英语:Aria (storage engine)))来代替MySQL的InnoDB。 MariaDB由MySQL的创始人麦克尔·维德纽斯(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自麦克尔·维德纽斯的女儿玛丽亚(英语:Maria)的名字。
PS:mariadb-devel是开发的头文件和静态库。
参考链接:
https://mariadb.com/kb/zh-cn/about-the-mariadb-rpm-files/
http://www.bing.com/knows/search?q=mariaDB&mkt=zh-cn
----------------------下面回归正题-----------------------------------------------------
2、开启MariaDB数据库[root@localhost ~]# systemctl start mariadb.service
3、查看MariaDB数据库在进程的状态
[root@localhost ~]# ss -tulnp | grep mysqld
tcp LISTEN 0 50 *:3306 *:*
----------------------关于ss命令,请查看以下链接--------------------------------------
ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。
ss参数解释:
-t, --tcp 仅显示 TCP套接字(sockets)
-u, --udp 仅显示 UCP套接字(sockets)
-l, --listening 显示监听状态的套接字(sockets)-n:把服务名称显示成端口号
-p, --processes 显示使用套接字(socket)的进程
更详细的命令介绍可以使用man来查看系统内的文档或者查看下面这个链接:
http://www.cnblogs.com/peida/archive/2013/03/11/2953420.html
----------------------下面回归正题------------------------------------------------------------
六、配置数据库
[root@localhost ~]# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.52-MariaDB MariaDB Server
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> exit
Bye
---------------------------说一下命令意思------------------------------------------------------
[root@localhost ~]# mysql
首次直接进入mysql数据库
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
create database zabbix是创建zabbix数据库
charcater set utf8是把默认字符集设置为utf8
collate utf8_bin是数据库校对规则
参考链接:
http://www.cnblogs.com/thinksasa/archive/2013/01/11/2856228.html
---------------------------下面回归正题---------------------------------------------------------
七、安装zabbix
1、获取并安装zabbix的yum源
[root@localhost ~]#wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
[root@localhost ~]#rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
2、生成yum源快照,这样可以直接用tab键来补全安装。
yum makecache
3、查看文件:
[root@localhost ~]# yum search zabbix
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: ftp.sjtu.edu.cn
* extras: ftp.sjtu.edu.cn
* updates: ftp.sjtu.edu.cn
========================================================= N/S matched: zabbix ===================================
pcp-export-zabbix-agent.x86_64 : Module for exporting PCP metrics to Zabbix agent
zabbix-agent.x86_64 : Zabbix Agent
zabbix-get.x86_64 : Zabbix Get
zabbix-java-gateway.x86_64 : Zabbix java gateway
zabbix-proxy-mysql.x86_64 : Zabbix proxy for MySQL or MariaDB database
zabbix-proxy-pgsql.x86_64 : Zabbix proxy for PostgreSQL database
zabbix-proxy-sqlite3.x86_64 : Zabbix proxy for SQLite3 database
zabbix-release.noarch : Zabbix repository configuration
zabbix-sender.x86_64 : Zabbix Sender
zabbix-server-mysql.x86_64 : Zabbix server for MySQL or MariaDB database
zabbix-server-pgsql.x86_64 : Zabbix server for PostgresSQL database
zabbix-web.noarch : Zabbix web frontend common package
zabbix-web-mysql.noarch : Zabbix web frontend for MySQL
zabbix-web-pgsql.noarch : Zabbix web frontend for PostgreSQL
zabbix-web-japanese.noarch : Japanese font settings for frontend
Name and summary matches only, use "search all" for everything.
----------------------------------下面说下以上包的用途---------------------------------
zabbix-agent.:zabbix客户端,用来收集客户端各种参数
zabbix-get:zabbix的一个工具,用来检查是否可以获取服务器信息(一般服务端要安装)
zabbix-java-gateway:用于监控JMX应用的程序,它把收集到的信息发送个(这个看需求安装,我暂时没装)
zabbix-proxy:zabbix proxy可以代替zabbix server检索客户端的数据,然后把数据汇报给zabbix server,并且在一定程度上分担了zabbix server的压力。zabbix proxy可以非常简便的实现了集中式、分布式监控。
zabbix-release:会生成一个zabbix的yum源,可以直接下载相关软件包。
zabbix-sender:用于发送数据给server或者proxy。
zabbix-web:zabbix要使用web界面,这个包是用来处理Apache和php,mysql等之间的依赖关系。
zabbix-web-mysql:这个是zabbix前段支持mysql的
zabbix-web-japanese:支持日语
参考资料链接:
http://ju.outofmemory.cn/entry/97105
http://www.ttlsa.com/zabbix/zabbix-section-3-of-chapter-1/
http://www.ttlsa.com/zabbix/zabbix-proxy-proxies/
-----------------------------------下面回归正题--------------------------------------------
4、选择自己需要的安装包进行安装,我只选了几个需要的:
[root@localhost ~]#yum install zabbix-get zabbix-sender zabbix-server-mysql zabbix-web zabbix-web-mysql zabbix-agent
5、生成查找快照
[root@localhost ~]# updatedb
6、查找create.sql文件位置
[root@localhost ~]# locate create.sql7、切换到zabbix-server目录
[root@localhost ~]# cd /usr/share/doc/zabbix-server-mysql-3.2.4/
8、查看目录下文件详细信息
[root@localhost zabbix-server-mysql-3.2.4]# ll
total 1896
-rw-r--r--. 1 root root 98 Feb 27 17:22 AUTHORS
-rw-r--r--. 1 root root 742520 Feb 27 17:22 ChangeLog
-rw-r--r--. 1 root root 17990 Feb 27 17:23 COPYING
-rw-r--r--. 1 root root 1161488 Mar 2 22:49 create.sql.gz
-rw-r--r--. 1 root root 52 Feb 27 17:24 NEWS
-rw-r--r--. 1 root root 188 Feb 27 17:22 README
9、解压create.sql.gz这个文件:
[root@localhost zabbix-server-mysql-3.2.4]# gunzip create.sql.gz
10、把这个create.sql导入到数据库中,时间可能稍微有些长,多等一会。
[root@localhost zabbix-server-mysql-3.2.4]# mysql -uzabbix -p zabbix < create.sql
11、查找这个mysql.sock文件路径,记下来,一会要用到:
[root@localhost zabbix-server-mysql-3.2.4]# locate mysql.sock
/var/lib/mysql/mysql.sock
12、修改zabbix_server_conf这个配置文件
[root@localhost zabbix-server-mysql-3.2.4]# vim /etc/zabbix/zabbix_server.conf
找到这一行:
# DBPassword=
在下面再写一行
DBPassword=123456
再找到这行:
# DBSocket=/tmp/mysql.sock
在下面再写一行
DBSocket=/var/lib/mysql/mysql.sock
这个密码是你DariaDB里面之前设置zabbix用户的密码,可以根据自己喜好改。
这个路径就是上面locate mysql.scok找到的那个路径
-------------------------------正常应该有这几个参数-------------------------------------------
[root@localhost zabbix-server-mysql-3.2.4]# egrep -vn "^#|^$" /etc/zabbix/zabbix_server.conf
38:LogFile=/var/log/zabbix/zabbix_server.log
49:LogFileSize=0
72:PidFile=/var/run/zabbix/zabbix_server.pid
91:DBName=zabbix
107:DBUser=zabbix
117:DBPassword=123456
125:DBSocket=/var/lib/mysql/mysql.sock
290:SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
416:Timeout=4
458:AlertScriptsPath=/usr/lib/zabbix/alertscripts
468:ExternalScripts=/usr/lib/zabbix/externalscripts
504:LogSlowQueries=3000
关于egrep:egrep是匹配字符的一个工具
-v:取反匹配到的字符
-n:显示行数
正则:自行百度
----------------------------------下面回归正题----------------------------------------------------
13、修改/etc/httpd/conf.d/zabbix.conf文件,把时区修改下
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
php_value date.timezone Asia/Shanghai //改为亚洲/上海
14、开启一些列服务,包括Apache、Mariadb、zabbix-server、zabbix-agent
[root@localhost zabbix-server-mysql-3.2.4]# systemctl start httpd.service
[root@localhost zabbix-server-mysql-3.2.4]# systemctl start mariadb
[root@localhost zabbix-server-mysql-3.2.4]# systemctl start zabbix-server
[root@localhost zabbix-server-mysql-3.2.4]# systemctl start zabbix-agent
15、下面把上面4个服务设置成开机启动
[root@localhost zabbix-server-mysql-3.2.4]# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@localhost zabbix-server-mysql-3.2.4]# systemctl enable mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
[root@localhost zabbix-server-mysql-3.2.4]# systemctl enable zabbix-server
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-server.service to /usr/lib/systemd/system/zabbix-server.servic.
[root@localhost zabbix-server-mysql-3.2.4]# systemctl enable zabbix-agent
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-agent.service to /usr/lib/systemd/system/zabbix-agent.servic
16、查看ip,直接用浏览器来安装zabbix
[root@localhost zabbix-server-mysql-3.2.4]# ifconfig -a
八、在浏览器上安装
1、安装地址(ip替换为自己ip):
http://ip/zabbix
2、安装
点Nexit step,下一步
查看是否全是OK,如果是,直接Next step,如果不是,缺什么装什么,什么没改改什么。
接续下一步
继续下一步
继续下一步
点击Finish完成
账号密码默认为:Admin zabbix
PS:如果想要支持中文,下篇会讲到,如果有任何问题或不对的地方,请大家帮忙留言。