Home | 簡體中文 | 繁體中文 | 雜文 | 知乎專欄 | Github | OSChina 博客 | 雲社區 | 雲棲社區 | Facebook | Linkedin | 視頻教程 | 打賞(Donations) | About
知乎專欄多維度架構 微信號 netkiller-ebook | QQ群:128659835 請註明“讀者”

Netkiller Monitor 手札

Monitoring, Scanner, Sniffer and Audit...

Mr. Neo Chan, 陳景峯(BG7NYT)



中國廣東省深圳市望海路半島城邦三期
518067
+86 13113668890


2010-11-18

電子書最近一次更新于 2020-11-15 22:36:22 .

版權聲明

轉載請與作者聯繫,轉載時請務必標明文章原始出處和作者信息及本聲明。

http://www.netkiller.cn
http://netkiller.github.io
http://netkiller.sourceforge.net
微信訂閲號 netkiller-ebook (微信掃瞄二維碼)
QQ:13721218 請註明“讀者”
QQ群:128659835 請註明“讀者”
知乎專欄 | 多維度架構

2017-02-13

2020-11-15 22:36:22

內容摘要

本文檔講述Linux系統涵蓋了系統管理與配置包括:

[注意]對初學Linux的愛好者忠告

玩Linux最忌reboot(重新啟動)這是windows玩家壞習慣

Linux只要接上電源你就不要再想用reboot,shutdown,halt,poweroff命令,Linux系統和應用軟件一般備有reload,reconfigure,restart/start/stop...不需要安裝軟件或配置伺服器後使用reboot重新引導計算機

在Linux系統裡SIGHUP信號被定義為刷新配置檔案,有些程序沒有提供reload參數,你可以給進程發送HUP信號,讓它刷新配置檔案,而不用restart.通過pkill,killall,kill 都可以發送HUP信號例如: pkill -HUP httpd

我的系列文檔:

操作系統

Netkiller Linux 手札 Netkiller FreeBSD 手札 Netkiller Shell 手札
Netkiller Security 手札 Netkiller Web 手札 Netkiller Monitoring 手札
Netkiller Storage 手札 Netkiller Mail 手札 Netkiller Virtualization 手札
Netkiller Cryptography 手札   

以下文檔停止更新合併到 《Netkiller Linux 手札》

Netkiller Debian 手札 Netkiller CentOS 手札 Netkiller Multimedia 手札    

致讀者

Netkiller 系列電子書始於 2000 年,風風雨雨走過20年,將在 2020 年終結,之後不在更新。作出這種決定原因很多,例如現在的閲讀習慣已經轉向短視頻,我個人的時間,身體健康情況等等......

感謝讀者粉絲這20年的支持

雖然電子書不再更新,後面我還會活躍在知乎社區和微信公眾號

目錄

1. 自述
1.1. 寫給讀者
1.2. 作者簡介
1.3. 如何獲得文檔
1.4. 打賞(Donations)
1.5. 聯繫方式
1. Prometheus
1.1. 安裝 Prometheus
1.1.1. Docker 安裝
1.1.2. docker swarm
1.1.3. docker-compose
1.2. Prometheus 命令行工具
1.2.1. 刷新配置檔案
1.2.2. promtool 配置檔案校驗工具
1.3. prometheus 配置
1.3.1. rules 規則配置
1.3.1.1. recording rules
1.3.1.2. alerting rules
1.4. PromQL 自定義查詢語言
1.4.1. Metrics 格式
1.4.2. metric 類型
1.4.2.1. Counter:只增不減的計數器
1.4.2.2. Gauge:可增可減的儀表盤
1.4.2.3. Histogram
1.4.2.4. Summary
1.4.3. 查詢時間序列
1.4.3.1. 標籤查詢
1.4.3.2. 範圍查詢
1.4.3.3. 數學運算
1.4.4. 聚合操作
1.4.4.1. rate()
1.4.4.2. topk() 和 bottomk()
1.4.4.3. delta()
1.4.4.4. predict_linear()
1.4.4.5. deriv()
1.4.4.6. sum()
1.4.4.7. avg()
1.4.4.8. min (最小值),max (最大值)
1.4.4.9. count_values()
1.4.4.10. quantile()
1.5. Installing and Configuring Graphite
1.5.1.
1.5.2. 監控 Docker
1.5.3. cadvisor
1.6. Alertmanager
1.6.1. alertmanager.yml 配置檔案
1.6.1.1. amtool 配置檔案檢查工具
1.6.1.2. global 全局配置項
1.6.1.3. route 路由配置
1.6.1.4. receivers 定義警報接收者
2. Zabbix
2.1. Installing and Configuring Zabbix
2.1.1. Ubuntu
2.1.2. CentOS Zabbix 2.4
2.1.3. Zabbix 3.x CentOS 7
2.2. web ui
2.2.1. 警告腳本
2.3. zabbix-java-gateway - Zabbix java gateway
2.4. zabbix-agent
2.4.1. Ubuntu
2.4.2. CentOS 7
2.4.3. zabbix_agentd 命令
2.4.4. Nginx status 監控
2.4.5. redis
2.4.6. MongoDB
2.4.6.1. 創建 Mongo 監控用戶
2.4.6.2. Zabbix agentd 配置
2.4.6.3. Zabbix server 測試
2.4.7. PHP-FPM
2.4.7.1. 啟用 php-fpm status 功能
2.4.7.2. 配置 nginx
2.4.7.3. 配置 Zabbix 代理
2.4.7.4. php-fpm 監控參數
2.4.8. Elasticsearch
2.4.8.1. 安裝採集腳本
2.4.8.2. 配置Zabbix代理
2.4.9. Postfix
2.4.9.1. 安裝採集腳本
2.4.9.2. userparameter_postfix.conf
2.4.10. TCP stats
2.4.10.1. 採集腳本
2.4.11. 應用依賴檢查
2.4.12. Oracle
2.4.12.1. 採集腳本
2.4.12.2.
3. ElasticSearch + Logstash + Kibana
3.1. 安裝
3.1.1. 6.x
3.1.2. ElasticSearch + Logstash + Kibana 安裝
3.1.2.1. ElasticSearch 安裝
3.1.2.2. Kibana 安裝
3.1.2.3. Logstash 安裝
3.1.2.4. 從 5.x 升級到 6.x
3.2. logstash 命令簡單應用
3.2.1. -e 命令行運行
3.2.2. -f 指定配置檔案
3.2.3. -t:測試配置檔案是否正確,然後退出。
3.2.4. -l:日誌輸出的地址
3.2.5. log.level 啟動Debug模式
3.3. 配置 Broker(Redis)
3.3.1. indexer
3.3.2. shipper
3.4. logstash 配置項
3.4.1. input
3.4.1.1. 標準輸入輸出
3.4.1.2. rubydebug
3.4.1.3. 本地檔案
3.4.1.3.1. 指定檔案類型
3.4.1.4. TCP/UDP
3.4.1.5. Redis
3.4.1.6. Kafka
3.4.1.7. jdbc
3.4.2. filter
3.4.2.1. 日期格式化
3.4.2.2. patterns
3.4.2.3. syslog
3.4.2.4. csv
3.4.2.5. 使用ruby 處理 CSV檔案
3.4.2.6. 執行 ruby 代碼
3.4.2.7. grok debug 工具
3.4.3. output
3.4.3.1. stdout
3.4.3.2. file 寫入檔案
3.4.3.3. elasticsearch
3.4.3.3.1. 自定義 index
3.4.3.4. exec 執行腳本
3.5. Example
3.5.1. Spring boot logback
3.5.2. 索引切割實例
3.5.3.
3.5.3.1.
3.6. Beats
3.6.1. 安裝 Beta
3.6.1.1. Beats 6.x 安裝
3.6.1.2. Beats 5.x 安裝
3.6.2. Filebeat
3.7. FAQ
3.7.1. 查看 Kibana 資料庫
3.7.2. logstash 無法寫入 elasticsearch
3.7.3. 標準輸出
3.7.4. 5.x 升級至 6.x 的變化
4. 監控命令
4.1. User
4.1.1. last, lastb - show listing of last logged in users
4.2. Memory
4.2.1. Memory
4.2.2. vmstat - Report virtual memory statistics
4.2.3. mpstat
4.2.4. pmap - report memory map of a process
4.3. CPU
4.3.1. uptime - Tell how long the system has been running.
4.3.2. top - display Linux tasks
4.3.3. atop - AT Computing's System & Process Monitor
4.3.4. htop - interactive process viewer
4.4. Processes
4.4.1. strace - trace system calls and signals
4.5. lsof - list open files 檔案監控
4.5.1. $$
4.5.2. 監控檔案系統
4.5.3. 設備檔案
4.5.4. 用戶監控
4.5.5. 監控進程
4.5.6. 監控網絡
4.5.7. lsof 高級用法
4.5.8. 根據檔案描述列出對應的檔案信息
4.6. Harddisk IO
4.6.1. input/output statistics
4.6.1.1. 5 秒監控一次
4.6.2. iotop - simple top-like I/O monitor
4.6.3. ionice - set or get process I/O scheduling class and priority
4.6.4. smartd - SMART Disk Monitoring Daemon
4.7. Network IO
4.7.1. netstat
4.7.2. ss
4.7.2.1. 查看tcp流量控制相關參數值
4.7.3. iftop - display bandwidth usage on an interface by host
4.7.4. iptraf - Interactive Colorful IP LAN Monitor
4.7.5. nload: Console application which monitors network traffic and bandwidth
4.7.6. bwm - Bandwidth Monitor
4.7.7. iptstate - A top-like display of IP Tables state table entries
4.8. Service
4.8.1. NFS
4.8.1.1. nfsstat
4.8.1.2. nfswatch
4.8.2. apachetop
4.9. 檔案監控
4.10. watchdog
4.11. nmon
4.12. Hardware
4.12.1. temperature/voltage/fan
4.12.2. mcelog - Decode kernel machine check log on x86 machines
4.13. sar - System Activity Reporter
4.14. SMS
4.14.1. gnokii
4.14.1.1. 安裝
4.14.1.1.1. Ubuntu
4.14.1.1.2. CentOS
4.14.1.2. 配置
4.14.1.3. 發送測試短信
4.14.1.4. 接收短信
4.14.1.5. 撥打電話
4.14.2. AT Commands
4.14.2.1. 發送短信
4.14.2.2. 語音通話
4.15. IPMI (Intelligent Platform Management Interface)
4.15.1. OpenIPMI
4.15.2. freeipmi
4.15.2.1. ipmiping
4.15.2.2. ipmimonitoring
4.15.2.3. ipmi-sensors
4.15.2.4. ipmi-locate
4.15.3. ipmitool - utility for controlling IPMI-enabled devices
4.15.3.1. ipmitool
4.15.3.1.1. ubuntu
4.15.3.1.2. CentOS
4.15.3.2. sensor
4.15.3.3. ipmitool shell
4.15.3.4. ipmitool 訪問遠程主機
4.15.3.5. Get chassis status and set power state
4.15.3.6. Configure Management Controller
4.15.3.6.1. Management Controller status and global enables
4.15.3.6.2. Configure LAN Channels
4.15.3.6.3. Configure Management Controller users
4.15.3.6.4. Configure Management Controller channels
4.15.3.7. Example for iDRAC
4.15.3.7.1. 更改IP地址,子網掩碼與網關
4.15.3.7.2. 更改 iDRAC LCD 顯示屏
4.15.3.7.3. 更改 iDRAC 密碼
4.15.3.7.4. 關機/開機
4.15.3.7.5. 啟動列表
4.16. JVM
4.16.1. jconsole
4.16.2. jps - Java Virtual Machine Process Status Tool
4.16.3. jinfo - Configuration Info
4.16.4. jstat - Java Virtual Machine Statistics Monitoring Tool
4.16.5. jHiccup
5. Logs 分析
5.1. log
5.1.1. logwatch
5.1.2. logcheck : Analyzes log files and sends noticeable events as email
5.1.3. nulog
5.2. Web
5.2.1. Apache Log
5.2.1.1. 刪除日誌
5.2.1.2. 統計爬蟲
5.2.1.3. 統計瀏覽器
5.2.1.4. IP 統計
5.2.1.5. 統計域名
5.2.1.6. HTTP Status
5.2.1.7. URL 統計
5.2.1.8. 檔案流量統計
5.2.1.9. URL訪問量統計
5.2.1.10. 腳本運行速度
5.2.1.11. IP, URL 抽取
5.2.2. awstats
5.2.2.1. 語言
5.2.2.2. 輸出HTML文檔
5.2.2.3. 多站點配置
5.2.2.4. 合併日誌
5.2.2.5. Flush history file on disk (unique url reach flush limit of 5000) 優化
5.2.2.6. JAWStats
5.2.3. webalizer
5.2.3.1. 手工生成
5.2.3.2. 批量處理歷史數據
5.2.3.3. crontab
5.2.4. Sarg - Squid Analysis Report Generator
5.2.5. goaccess - Fast web log analyzer and interactive viewer.
5.3. Tomcat
5.3.1. 截取 0-3 點區間的日誌
5.3.2. 監控Redis
5.4. Mail
5.4.1. pflogsumm.pl - Produce Postfix MTA logfile summary
5.5. OpenSSH 日誌 /var/log/secure
5.5.1. 查看登陸用戶
5.6. rinetd.log
5.7. php-syslog-ng
5.8. Log Analyzer
5.9. Splunk
5.10. Octopussy
5.11. eventlog-to-syslog
5.12. Apache Flume
5.12.1. 安裝 Apache flume
5.12.2. 基本配置
5.12.3. 配置 MySQL 存儲日誌
5.12.4. 配置 HDFS 存儲日誌
5.13. graylog - Enterprise Log Management for All
6. 上一代監控系統
6.1. Varnish Dashboard
6.2. Cacti
6.2.1. Install Cacti for Ubuntu
6.2.2. Yum 安裝
6.2.3. Source Install
6.2.4. Web 安裝
6.2.5. Cacti plugins
6.2.5.1. Percona monitoring plugins
6.2.6. Template
6.2.6.1. Nginx
6.2.6.2. php-fpm
6.2.6.3. MySQL
6.2.6.4. Redis
6.2.6.5. Percona JMX Monitoring Template for Cacti
6.3. Nagios
6.3.1. Install
6.3.1.1. Nagios core
6.3.1.2. Monitor Client nrpe
6.3.1.3. Monitoring Windows Machines
6.3.1.4. PNP4Nagios 圖表插件
6.3.2. nagios
6.3.3. nrpe node
6.3.4. 配置 Nagios
6.3.4.1. authorized
6.3.4.2. contacts
6.3.4.3. hostgroups
6.3.4.4. generic-service
6.3.4.5. SOUND OPTIONS
6.3.4.6. SMS 短信
6.3.4.7. nrpe plugins
6.3.5. 配置監控設備
6.3.5.1. routers
6.3.5.2. host
6.3.5.3. service
6.3.5.3.1. http
6.3.5.3.2. mysql hosts
6.3.5.3.3. check_tcp
6.3.6. Nagios Plugins
6.3.6.1. check_ping
6.3.6.2. check_procs
6.3.6.3. check_users
6.3.6.4. check_http
6.3.6.5. check_mysql
6.3.6.5.1. check_mysql
6.3.6.5.2. mysql.cfg check_mysql_replication
6.3.6.5.3. nrpe.cfg check_mysql_replication
6.3.6.6. Disk
6.3.6.6.1. disk.cfg
6.3.6.6.2. check_disk
6.3.6.6.3. disk-smb.cfg
6.3.6.7. check_tcp
6.3.6.7.1. 連接埠檢查
6.3.6.7.2. Memcache
6.3.6.7.3. Redis
6.3.6.8. check_log
6.3.6.9. check_traffic
6.3.6.10. Nagios nrpe plugins
6.3.6.11. check_nt
6.3.6.12. nsca - Nagios Service Check Acceptor
6.3.6.13. jmx
6.3.7. FAQ
6.3.7.1. Macro Name
6.3.7.2. 插件開發手冊
6.4. Munin
6.4.1. Ubuntu
6.4.1.1. Installation Monitor Server
6.4.1.2. Installation Node
6.4.1.3. Additional Plugins
6.4.1.4. plugins
6.4.1.4.1. mysql
6.4.1.4.2. apache
6.4.2. CentOS
6.4.3. 用戶認證
6.4.4. munin-node and plugins
6.4.4.1. munin-node.conf
6.4.4.2. mysql plugin
6.4.4.3. apache plugin
6.4.4.4. memcached plugin
6.4.5. munin.conf
6.4.6. munin-node
6.4.6.1. munin-node.conf
6.5. Observium
6.5.1. Installation
6.6. Ganglia
6.6.1. Server
6.6.2. Client
6.6.3. Plugin
6.6.4. Installing Ganglia on Centos
6.7. icinga
6.8. Graphite
6.8.1. Graphite - Scalable Realtime Graphing
6.9. Apache SkyWalking
6.10. BIG BROTHER
6.11. Big Sister
6.12. OpenNMS
6.13. Performance Co-Pilot
6.14. Clumon Performance Monitor
6.15. Zenoss
6.16. 商業軟件
6.17. Hyperic HQ
6.18. OSSIM,Spiceworks,FireGen,LANSweeper,OSSEC,HIDS
6.19. HawtIO
6.20. moloch
7. 網絡監控
7.1. NET SNMP (Simple Network Management Protocol)
7.1.1. 安裝SNMP
7.1.1.1. Ubuntu
7.1.1.1.1. snmpd.conf
7.1.1.1.2. SNMP v3
7.1.1.2. CentOS
7.1.1.2.1. Configure SNMPv3 on CentOS or RHEL
7.1.2. 配置SNMP
7.1.2.1. community 配置
7.1.2.2. 定義可操作的範圍
7.1.3. SNMP 命令
7.1.3.1. snmpwalk
7.1.3.2. snmpget
7.1.3.3. snmptest
7.1.4. Cisco MBI
7.1.4.1. Cisco 3750
7.1.4.2. Cisco ASA 5550
7.2. Bandwidth
7.2.1. apt-get install
7.2.2. CentOS rpm/yum
7.2.3. source code
7.2.4. /etc/bandwidthd.conf
7.3. NetFlow
7.3.1. flow-tools - collects and processes NetFlow data
7.3.1.1. flow-capture
7.3.1.2. NetFlow into MySQL with flow-tools
7.3.2. netams - Network Traffic Accounting and Monitoring Software
7.3.2.1. netams-web
7.4. Ntop
7.4.1. Installation
7.4.1.1. Ubuntu
7.4.1.2. CentOS
7.4.2. Web UI
7.4.3. Plugins
7.4.3.1. NetFlow
7.5. MRTG
7.5.1. Ubuntu 安裝
7.5.2. CentOS 安裝
7.5.3. 監控多個設備
7.5.4. 批量生成監控配置檔案
7.5.5. 圖片尺寸
7.6. lvs-rrd
8. OpenTSDB
9. Zipkin 分散式鏈路追蹤

範例清單

2.1. zabbix-agent 配置實例
3.1. spring boot logback
3.2. Elasticsearch 索引切割示例
4.1. nmon
5.1. config.php
6.1. cacti config.php
6.2.
7.1. mrtg