linux監控平臺搭建
Linux監控平臺介紹
監控的重要性不言而喻,一個企業就算架構再不成熟,監控都是必須要有的。監控不管用什麼方式實現,開源軟體也好,商業的監控服務也好,抑或是簡陋的shell指令碼,在業務上線時都首先要做到位。
流行的開源監控軟體有cacti、nagios、zabbix、smokeping、open-falcon.
cacti、nagios、zabbix都可以監控伺服器的基礎指標,比如CUP、記憶體、硬碟、網路等,其中cacti更擅長監控網路流量,很多的IDC機房的網路裝置流量用cacti,因為它成圖專業。它們都是C/S架構,需要安裝一個服務端,然後還需要在被監控的機器上安裝客戶端,它們都需要LAMP的支援,其中Nagios不需要資料庫,而其他2種都需要MySQL的支援,用來儲存資料的。
Nagios最大特點是監控一目瞭然,它監控的某個指標不會返回具體的數值,而是隻返回一個狀態,告訴我們該指標是否正常。所以不需要歷史資料,也就不需要資料庫的支援。當它發現某個指標不正常時,就直接發出警告或者簡訊。
zabbix最近幾年很流行,因為zabbix可以儲存資料,很方便的畫圖,並支援查詢歷史資料。它還可以自定義監控專案。可以定製化監控業務的某個指標(例如每分鐘訂單數量),在zabbix的自帶模板中不可能找到,它還提供了易用的二次開發介面,方便擴充套件。zabbix會獲取服務或監控專案的資料,會把資料記錄到資料庫中,從而可以成圖。
cacti、smokeping偏於基礎監控(網路裝置),成圖非常漂亮。
open-falcon是小米公司開發,開源後受到許多大公司和運維工程師的追捧,適合大企業。比如滴滴、360、新浪,JD等都在使用這個監控軟體,值得研究。
cacti、nagios、zabbix都支援Web介面去進行管理,去控制。其中zabbix的管理做的比較徹底,比如增加監控節點,去配置具體的專案。nagios則需要去修改很多的配置檔案和規則,很繁瑣。
zabbix監控介紹
zabbix適合任何企業,它是C/S架構,服務端去客戶端採取資料(在客戶端要有一個服務用來採取資料,這個資料可以主動的上報給服務端,或者讓服務端連線客戶端去採集資料,也就是主動模式與被動模式)
zabbix基於C++開發,效能還是挺快的,監控中心需要PHP的環境用來開啟Web介面,
單server節點可以支援上萬臺客戶端,併發量還是挺大的。瓶頸在於資料的採集量,就算是支援上萬臺客戶端,當監控的專案太多也會導致效率的降低。
- zabbix的優化——比如增加代理點,用來充當server的角色,替代server去採集資料,得到分析結果在彙報給server。
zabbix當前最新的zabbix 3.4版本,官方文件https://www.zabbix.com/manuals
zabbixj架構中包括了5個元件
(1)Zabbix-server
它是整個監控體系中最核心的元件(監控中心),負責接收客戶端上報資訊,所有的配置、統計、運算元據、資料儲存、存放資料(比如mysql)都是由它完組織的
(2)Web介面
它也叫web UI,在web介面下操作配置是zabbix簡單易用的主要原因。執行web介面需要php環境支援。(如果沒有它,就不能在瀏覽器中去配置它)
(3)zabbix-proxy
它為可選元件,用於監控節點非常多的分散式環境中,它可以代替zabbix-server的功能,減輕zabbix-server的壓力。
(4)zabbix-agent
客戶端軟體,使用者採集各個監控服務或專案的資料,並將採集的資料傳輸給zabbix-server或是zabbix-proxy
(5)資料儲存
所有采集的資料儲存在這裡監控流程圖
流程:
(1)將需要監控的伺服器加入到監控中心,讓它們之間可以通訊
(2)配置監控專案 ,配置完成後能和服務端通訊了
(3)採集資料到資料中心(zabbix-server裡面),採集過程可以是主動或者被動。
(4)配置告警規則,如果採集的資料值達到報警條件就進行告警,沒有達到就進行儲存。
zabbix-server需要進行告警規則的配置,還需要配置告警的機制,如果檢測到資料的不正常了,該通知給誰,用什麼方式,這些都需要在zabbix-sever中去配置。
安裝zabbix
實驗中需要用到2臺機器,一臺用作服務端(監控中心),另外一臺用作客戶端。
- zabbix可以通過yum來安裝,不過要先安裝epel擴充套件源,在epel中它的最高為2.2版本,推薦使用官方提供對應版本的yum源
https://www.zabbix.com/download
步驟
(1)在2臺機器上執行
- zabbix可以通過yum來安裝,不過要先安裝epel擴充套件源,在epel中它的最高為2.2版本,推薦使用官方提供對應版本的yum源
wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
(2)安裝
rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm //安裝完成後會在/etc/yum.repos.d下生成一個zabbix.repo檔案
(3)服務端安裝軟體包
yum install -y zabbix-agent zabbix-get zabbix-server-mysql zabbix-web zabbix-web-mysql
zabbix-agent:客戶端程式
zabbix-get:服務端上命令列獲取客戶端檢測專案的工具
zabbix-server-mysql:zabbix-server MySQL版
zabbix-web:web介面
zabbix-web-mysql:web介面mysql相關
如果之前沒有安裝過mysql。可以yum安裝。
(4)檢視mysql是否開啟
(5)編輯/etc/my. cnf設定預設的字符集
[mysqld]
character_set_server = utf8 //字符集
datadir=/data/mysql
socket=/tmp/mysql.sock
重啟mysql
(6)進入mysql命令列,並建立zabbix庫,並指定編碼為utf8
create database zabbix character set utf8;
(7)建立使用者
grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by 'zcy-zabbix';
退出mysql
(8)匯入原始資料,沒有這些資料zabbix就不能在web介面展現。
cd /usr/share/doc/zabbix-server-mysql-3.2.7 //最後的引數使用Tab鍵補全。
gzip -d create.sql.gz //解壓縮該包後,生成一個create.sql檔案
mysql -uroot -pzcylinux zabbix < create.sql //匯入到zabbix庫中。
使用cd返回
(9)啟動zabbix服務,,還需要啟動httpd服務,啟動前檢視是否有nginx在執行,需要關閉。它佔用了80 埠
systemctl start zabbix-server
/etc/init.d/nginx stop
systemctl start httpd
將zabbix和httpd設定為開機啟動,並關閉nginx
systemctl enable httpd
systemctl enable nginx
chkconfig nginx off
最後發現zabbix並沒有監聽埠。那麼可以檢視日誌/var/log/zabbix/zabbix_server.log,發現有程式卻不能連線mysql
(10)編輯配置檔案
vi /etc/zabbix/zabbix_server.conf /並在DBHost下面加入一行 DBHost=127.0.0.1
關於這裡的IP寫多少,我們是將mysql安裝在一起的,那麼就可以寫localhost或者是127.0.0.1。如果mysql沒有安裝在這裡,而是在另一臺機器上,那麼就要寫另外一臺機器的IP,這樣可以提升監控中心的效率。
DBPassword=zcy-zabbix //在DBuser下面增加
(11)再重啟zabbix-server服務。正常情況下會啟動很多的子程式,並可以看到zabbix_server監聽了10051埠。
(12 )在瀏覽器中訪問ip/zabbix ,可以在web介面下配置zabbix。當yum安裝zabbix,它會自動的安裝httpd與配置檔案。然後點選netx step後會出現一個介面,只需要關注是紅色的那個,它的意思是配置時區——vi /etc/php.ini 中data.timezone = Asia/shanghai
定義完成後重啟httpd服務systemctl restart httpd
重新整理頁面,全部都是OK後,再次點選netx step後就需要填寫mysql相關的資訊了。
這裡的密碼填寫之前建立使用者時指定的密碼。
定義zabbix_server的主機名
再下一步會顯示你的填寫資訊,並提示你已成功安裝了zabbix前端。
最後出現登入介面。預設管理裡為Admin ,密碼為zabbix,登入進去後需要先更改密碼。
zabbix 客戶端安裝
(1)在客戶端上下載zabbix的yum源
wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
(2)安裝zabbix-agent
(3)編輯配置檔案vi /etc/zabbix/zabbix_agentd.conf
並定義2個地方
1.server=服務端的ip ——與監控中心通訊
2.ServerActive=服務端的ip -——主動模式時使用,如果只填寫了server那麼就是被動模式,寫了這個就是主動模式。
3.Hostname=客戶端主機名
(4)啟動服務
systemctl start zabbix-agent
(5)檢視程式與監聽的埠
ps aux |grep zabbix
netstat -lntp
它的監聽埠是10050。
忘記Admin密碼如何做
1 . 進入mysql命令列,選擇zabbix庫
mysql -uroot -pzcylinux
use zabbix
2 .修改密碼
update users set passwd=md5('newpasswd') where alias= 'Admin' ;
相關文章
- linux下cacti監控平臺的搭建Linux
- Prometheus + Grafana 監控平臺搭建PrometheusGrafana
- Zabbix監控平臺的搭建
- jmeter+influxdb+grafana監控平臺搭建JMeterUXGrafana
- Jmeter監控平臺搭建:JMeter+InfluxDB+GrafanaJMeterUXGrafana
- zabbix監控平臺
- 藉助Docker搭建JMeter+Grafana+Influxdb監控平臺DockerJMeterGrafanaUX
- 使用滴滴雲快速搭建 Open-Falcon 監控平臺
- 手把手教你搭建高逼格監控平臺,第二彈,監控mysqlMySql
- 手把手教你搭建高逼格監控平臺,第三彈,監控JVMJVM
- Docker系列——InfluxDB+Grafana+Jmeter效能監控平臺搭建(三)DockerUXGrafanaJMeter
- Docker系列——InfluxDB+Grafana+Jmeter效能監控平臺搭建(二)DockerUXGrafanaJMeter
- 能耗線上管理平臺搭建能源監控系統開發
- 手把手教你搭建Windows 搭建Prometheus + Grafana + Jmeter視覺化監控平臺WindowsPrometheusGrafanaJMeter視覺化
- 手把手教你搭建高逼格監控平臺,第四彈,監控主機存活狀態
- Zabbix搭建-zabbix+Grafana從零設計自己的監控平臺Grafana
- Grafana搭建-zabbix+grafana從零設計自己的監控平臺Grafana
- 360容器平臺監控實踐
- 能源能源管控系統開發方案,線上監測平臺搭建
- 手把手教你搭建高逼格監控平臺,動起來吧
- Prometheus 監控平臺元件深度講解Prometheus元件
- Cacti+Nagios監控平臺完美整合iOS
- DIY一個前端監控平臺(上)前端
- Linux監控平臺介紹 zabbix監控介紹 安裝zabbix 忘記Admin密碼如何做Linux密碼
- 大型企業能源管理監控系統開發,線上監測平臺搭建方案
- Linux 監控Linux
- 對於k8s微服務的效能測試監控平臺搭建K8S微服務
- 得物App ANR監控平臺設計APP
- Samsara:車隊物流監控平臺簡介
- Telegraf+Influxdb+Grafana構建監控平臺UXGrafana
- Zabbix+Grafana從零設計自己的監控平臺-監控效果展示Grafana
- RestCloud監控平臺,專為微服務API打造的實時監控中心RESTCloud微服務API
- EHOME影片平臺EasyCVR影片分析裝置平臺電梯監控攝像機如何接入實現影片監控VR
- 盛邦安全助力民政部搭建監控預警與態勢感知平臺
- 如何構建智慧監控預警管理平臺?
- 監控平臺SkyWalking9入門實踐
- 分散式監控平臺Centreon實踐真傳分散式
- 智慧園區工廠能源管控平臺搭建,線上監測系統開發