linux文件監控
java 的WatchService 類提供了一種方式可以檢查
try
{
WatchService watchService = FileSystems.getDefault()
.newWatchService();
Path path = Paths.get(pathName);
// 注冊監聽器
path.register(watchService,
StandardWatchEventKinds.ENTRY_CREATE,
StandardWatchEventKinds.ENTRY_DELETE);
while (true)
{
// 阻塞方式,消費文件更改事件
List<WatchEvent<?>> watchEvents = watchService.take()
.pollEvents();
for (WatchEvent<?> watchEvent : watchEvents)
{
System.out.printf("[%s]文件發生了[%s]事件。%n", watchEvent
.context(), watchEvent.kind());
}
}
}
catch (Exception e)
{
}
❷ linux中用什麼命令實現對目錄文件變化的監控
#!/bin/bash
if [ ! -f check.txt ];then
ls >check.txt
elif [ ! -f check.old ];then
mv check.txt check.old
ls >check.txt
diff check.txt check.old|grep '^>'|sed 's/>/deleted file:/g'
diff check.txt check.old|grep '^<'|sed 's/</created file:/g'
else
mv check.txt check.old
ls >check.txt
diff check.txt check.old|grep '^>'|sed 's/>/deleted file:/g'
diff check.txt check.old|grep '^<'|sed 's/</created file:/g'
fi
不知是不是你想要的。。。只實現監控新增的文件和刪除的文件。
❸ Linux 監控文件被什麼進程修改
你好,
如果只是監視普通文件操作,一般情況下不需要修改內核。 運行「strace -e file -o log.txt 可執行文件名" 即可。對已經運行的程序,用strace -p pid。 最創建子進程的,加-f參數。具體man strace。
❹ 監控一個持續刷新的日誌文件/var/log/messages,命令是什麼/var/log/messages
Zabbix Advance - Linux log monitor 日誌監控(/var/log/messages,/var/log/secure,其它程序日誌皆可) 原創
2020-09-11 10:43:40
2點贊
Fei-Huang
碼齡12年
關注
文章目錄
日誌監控原理
本文檔示例版本與官方使用文檔
配置過程
一,被監控的主機上配置zabbix_agentd.conf
二,修改日誌文件的許可權
修改前日誌文件的許可權:
修改日誌文件的許可權
查看修改後的文件許可權
三,配置zabbix web item頁面(監控root用戶登陸)
root用戶登陸測試慶凳皮
配置告警(trigger)
最終配置
再次測試root登陸
日誌監控原理
zabbix 監控日誌,主要是用於監控日誌中的關鍵字,遇到關鍵字後,zabbix agent 將日誌發送給server。日誌監控必需是agent active的監控項目
本文檔示例版本與官方使用文檔
官方文檔鏈接
配置過程
一,被監控的主機上配置zabbix_agentd.conf
[root@GuangGu_Zabbix_proxy ~]# egrep -v "#|^$" /etc/zabbix/zabbix_agent2.conf
PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=X.X.X.X
ServerActive=X.X.X.X
Hostname=Zabbix_lOG
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
ServerActive=X.X.X.X
Hostname=Zabbix_lOG
以上兩個參數配置對日誌很重要,agent active 在發送數據給server端時,會將配置文件中的hostname的值做為一個值攜帶給服務端,zabbix_server收到發送過來的數據後會主動匹配這個值,是否與自己配置的主機的粗賀hostname一致,一致即接收數據,放置在資料庫中。
二,修改日誌文件的許可權
通常情況下,/var/log/目錄下的系統日誌文件只有root用戶有相應的讀寫許可權,而zabbix對這些文件需要有讀取的譽差許可權,否則無法監控,所以在不更改屬主屬組的情況下,使用==「facl」== 添加文件許可權比較合適,以下為示例:
修改前日誌文件的許可權:
[hostname]# ls -l /var/log/messages
-rw------- 1 root root 138063 Sep 11 08:10 /var/log/messages
1
2
1
2
只有root用戶有讀寫許可權,其它的用戶均沒有許可權
修改日誌文件的許可權
setfacl -m u:zabbix:r-- /var/log/messages
1
1
查看修改後的文件許可權
[root@GuangGu_Zabbix_proxy ~]# ls -l /var/log/messages
-rw-r-----+ 1 root root 193670 Sep 11 09:10 /var/log/messages
1
2
1
2
[root@GuangGu_Zabbix_proxy ~]# getfacl /var/log/messages
getfacl: Removing leading '/' from absolute path names
# file: var/log/messages
# owner: root
# group: root
user::rw-
user:zabbix:r--
group::---
mask::r--
other::---
1
2
3
4
5
6
7
8
9
10
11
1
2
3
4
5
6
7
8
9
10
11
user:zabbix:r-- 可以看到zabbix用戶有r的許可權了
但是這條命令只設置了當前的/var/log/messages的文件的許可權,這個日誌文件是會隨日期滾動的所以還需要設置一下日誌滾動後的zabbix用戶的許可權,此時還需要修改另外一個文件的內容:
[root@hostname~]# vim /etc/logrotate.d/syslog
/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler
{
missingok
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
/usr/bin/setfacl -m u:zabbix:r-- /var/log/messages
endscript
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
1
2
3
4
5
6
7
8
9
10
11
12
13
14
logrotate 不是守護進程的服務,所以不需要重啟
三,配置zabbix web item頁面(監控root用戶登陸)
key : log[file,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>,<options>]
/var/log/messages 中 root 用戶登陸的日誌記錄如下:
Sep 11 09:30:01 LOGMONITOR systemd: Started Session 6787 of user root.
1
1
幾個注意點:
類型必需是「zabbix agent active」的
信息類型必需是「日誌」型的
log[/var/log/messages, Started Session .* of user root.$,skip,]
root用戶登陸測試
Sep 11 09:44:47 LOGMONITOR systemd-logind: New session 6789 of user root.
Sep 11 09:44:47 LOGMONITOR systemd: Started Session 6789 of user root.
Sep 11 09:44:47 LOGMONITOR systemd: Starting Session 6789 of user root.
1
2
3
1
2
3
以上三條是登陸產生的日誌
查看zabbix監控的消息記錄
點擊「歷史記錄查看」
zabbix已經收到相關日誌
配置告警(trigger)
配置告警思路:
只要zabbix收到相應條目的日誌一次,就觸發一次告警
收到告警後,如果60s內沒有再次觸發告警就消失
最終配置
再次測試root登陸
此告警60S後消失
文章知識點與官方知識檔案匹配
CS入門技能樹Linux入門初識Linux
24650 人正在系統學習中
打開CSDN APP,看更多技術內容
zabbix監控Linux進程方法_lihuaichen的博客
利用zabbixproc.num方法監控Linux服務進程 proc.num[<name>,<user>,<state>,<cmdline>] 監控用戶某些狀態的進程的數量 name- 進程名稱 (默認「all processes」)user- 用戶名 (默認 「all users」)state- 可用值:all(默認),run,sl...
繼續訪問
zabbix監控遠程linux伺服器基礎操作_今天摘太陽的博客_linu...
查看添加的監控主機的最新數據是否監控到數據。4. 通過web頁面配置linux監控,添加監控主機及套用模板設置。 zabbix監控Linux流程 m0_52091913的博客 312 zabbix監控Linux流程,郵件警告 遠程監控 linux伺服器軟體,如何從Web瀏覽器遠程監控...
繼續訪問
log_monitor日誌監控
對qps以及介面的平均耗時進行統計 特點 (1)輕量: 共219KB(代碼量約300行), 無需安裝,解壓即可使用 (2)低侵入: 基於日誌文件進行統計,無需修改原程序 使用說明 (1) 二進制包:下載工具包 log_monitor.tar.gz,並解壓 (2) 源碼編譯:make 之後進行參數配置,可以拷貝現有的,各個參數說明如下: log_file=/data/nginx_logs/access.log log_reg=
(.∗)\+0800
(.∗)\+0800
time_format=%d/%b/%Y:%H:%M:%S retain_seconds=3600 http_port=3344 log_level=INFO log_file: 需要監控的日誌的路徑 log_reg: 需要匹配的日期以及耗時信息的正則表達式(需要加括弧) time_format: 日誌中日期的格式 retain_seconds: 統計數據保留時間 http_port: 用來通過頁面展示統計數據的埠 log_level: log monitor的日誌級別 啟動 ./bin/log_monitor [conf_file_path] 查看 (1) 在控制台就可以看到系統實時的qps以及每一秒中介面的平均耗時情況 (2) 通過瀏覽器訪問 http://${ip}:{http_port}/show.html
Zabbix監控之Linux命令行/Shell腳本解析json
本文主要寫了在Linux下如何用Shell腳本解析json數據,以便於在Zabbix中添加適合於業務應用的監控項。為什麼要使用json?json作為一種文本化的數據格式(文本化協議),符合UNIX編程的哲學,既符合透明性(透明性:設計可見,便於審查和調試)又符合文本性(文本性:數據應該保存為文本文件)。關鍵在於json對Web程序或者java程序非常友好,對於開發人員來說,他們也喜歡使用json數...
繼續訪問
linux啟動zabbix服務,zabbix監控Linux系統服務_鄧琨騰的博客
Zabbix自動發現規則監控Linux系統的service units 項目要求:通過systemctl命令查看Linux系統的service units; 監控前提:zabbix環境已搭建好; 監控原理:通過shell腳本把systemctl命令返回的結果以json格式發送到zabbix; ...
繼續訪問
zabbix自動監控linux進程,zabbix遠程命令-監控進程停掉後自動重啟應用...
6.在驗證遠程命令的可用性之後,在zabbix前端頁面添加監控項,設置觸發器,並添加執行遠程命令的動作。 7.添加監控項: 自定義名稱,類型為zabbix客戶端,鍵值為proc.num[,,,httpd],其他自定義,點擊添加。
繼續訪問
zabbix監控日誌
zabbix監控日誌
繼續訪問
linux的數據清洗視頻,Zabbix監控歷史數據清理
Zabbix監控運行一段時間以後,會留下大量的歷史監控數據,Zabbix資料庫一直在增大;可能會造成系統性能下降,查看歷史數據室查詢速度緩慢。Zabbix裡面最大的表就是history和history_uint兩個表,而且zabbix裡面的時間是使用的時間戳方式記錄,所以可以根據時間戳來刪除歷史數據一、關閉zabbix、http服務pkill -9 zabbixservice httpd stop...
繼續訪問
zabbix3.4監控linux磁碟使用率_一文看懂Linux全能型監控命令--dstat...
在linux上有top、free、iostat、vmstat、netstat等諸多監控系統各項性能的工具,如top,可以實時監控到系統負載、內存等使用情況,iostat能監控系統I/O情況,而vmstat可以得到關於進程、內存、內存分頁、堵塞IO、traps及CPU活動的信息。不過今天主...
繼續訪問
Zabbix監控Linux進程方法
利用zabbix proc.num方法監控Linux服務進程 proc.num[<name>,<user>,<state>,<cmdline>] 監控用戶某些狀態的進程的數量 name - 進程名稱 (默認「all processes」) user - 用戶名 (默認 「all users」) state - 可用值: all (默認), run,sleep, zomb cmdline - 命令行過濾(正則表達時) 一、首先新建一個模板,在監控項條目中新
繼續訪問
關於/var/log/messages文件
/var 包括系統運行時要改變的數據。其中包括每個系統是特定的,即不能夠與其他計算機共享的目錄,如/var/log,/var/lock,/var/run。有些目錄還是可以與其他系統共享,如/var/mail, /var/cache/man, /var/cache/fonts,/var/spool/news。var目錄存在的目的是把usr目錄在運行過程中需要更改的文件或者臨時生成的文件及目錄提取出來
繼續訪問
@Zabbix常用的監控命令及監控分析
文章目錄一、面試技巧1.面試常問二、單機監控命令1.CPU 監控命令2.內存監控命令3.磁碟監控命令4.網路監控命令5.TCP11種狀態監控命令6.生產場景需求7.系統的oom(out of memory)8.使用腳本監控nginx三、zabbix資料庫拆分1.環境准備2.導出原Mysql中的zabbix數據3.准備新的資料庫環境4.關閉原來的資料庫測試5.修改連接資料庫代碼 一、面試技巧 1.面試常問 #1.面試官:你們公司監控是如何做的? 你:用zabbix 面試官:.... #2.面試技
繼續訪問
最新發布 zabbix日誌監控:操作系統、業務系統、文件大小、多行日誌
(一)監控操作系統日誌 (二)監控業務系統日誌 (三)監控日誌文件大小 (四)多行日誌監控- Python腳本優化
繼續訪問
zabbix 時間錯誤_使用Zabbix來監控系統日誌
在Linux系統上,日誌文件通常可以分為四類:System Logs(系統日誌)Event Logs(事件日誌)Application Logs(應用程序日誌)Service Logs(服務日誌)一、為什麼要監控日誌?Linux為了跟蹤和監視系統(內核)各個組件及應用程序運行狀態而將產生的相關事件存儲到日誌文件中,當系統或者應用程序出現問題時,系統管理員能根據日誌定位到問題。而通過監控Linux的...
繼續訪問
【Docker學習】13、使用 Docker/Docker-Compose 部署 Prometheus 監控組件
文章目錄1、Prometheus 監控組件(1)Prometheus 監控 Linux(2)Prometheus 監控 Docker(3)Prometheus 監控 MySQL 1、Prometheus 監控組件 從上面的構建可以發現,現在已經可以監控當前Linux主機了,實際上能監控的內容很多,可以在官網查看,監控內容或社區查找 搭建各種組件的監控,首先需要找到提供數據的數據源,當然,Prometheus已經給我們寫好了配置,我們只需要在找到對應的配置進行安裝即可,Prometheus GitHub,例如
繼續訪問
Linux從入門到放棄 zabbix常見的linux監控命令
cpu top htop uptime vmstat 內存 free 磁碟 df iotop 網卡 iftop nethogs 系統進程 ps pstree
繼續訪問
zabix監控linux進程名稱,zabbix監控Linux進程方法
利用zabbixproc.num方法監控Linux服務進程proc.num[,,,]監控用戶某些狀態的進程的數量name- 進程名稱 (默認「all processes」)user- 用戶名 (默認 「all users」)state- 可用值:all(默認),run,sleep,zombcmdline-命令行過濾(正則表達時)具體監控某一服務進程的方法一、首先新建一個模板,在監控項條目中新建一...
繼續訪問
zabbix監控Linux流程
zabbix監控Linux流程,郵件警告
繼續訪問
zabbix監控linux文件目錄,zabbix之日誌文件監控
一、日誌item介紹下面介紹zabbix另一個「重量級」的功能——日誌文件監控,它最主要的是監控日誌文件中有沒有某個字元串的表達式,對應日誌輪轉與否,zabbix都支持。在配置Item的時候,Type選擇Zabbix agent (active),這里主要需要配置的是Key。下面是監控日誌的兩種key——log和logtr。log[/path/to/some/file,,,,,]logtr[/pa...
繼續訪問
監控linux日誌,Zabbix日誌監控:Linux異常登錄告警
本文利用zabbix的日誌監控功能監控Linux的secure日誌,當有用戶登錄失敗或者用戶在非常規時間登錄成功時發出告警。這里我們使用zabbix提供的'log[file,,,,,]'來監控Linux的/var/log/secure文件。先介紹下這個log監控項:1)監控項類型是Zabbix agent (active),返回數據類型是Log。2)Zabbix agent要對監控的日誌文件有可讀...
繼續訪問
Zabbix監控日誌
創建監控項 創建觸發器 驗證 問題定位 創建監控項 注意要選擇客戶端主動式,使用主動式的時候無法使用zabbix-get工具調試 鍵值示例:log[/home/moa/log/smapd/smapd.log,」info」,,,skip,,] 說明:1、/home/moa/log/smapd/smapd.log表示日誌路徑 2、」info」表示匹配的關鍵字...
繼續訪問
zabbix監控日誌關鍵字(ERROR)
前言:對我我這種剛入職場不久的小運維來說其實這個對我來說真的挺難得,研究了好久也在朋友的幫助下終於成功了,在此多謝我的朋友(倪偉)。 公司沒有zabbix監控,領導讓搭建一套zabbix然後讓監控錯誤日誌(關鍵字error),其實據說牛掰的大神可以監控到具體報錯信息是什麼,如有大神能編寫出來歡迎指教。 因為就是想讓他提醒一次就不在提醒了,所以腳本我寫了半天(不擅長啊) 我zabbix搭建的過...
繼續訪問
熱門推薦 Linux實時查看文件/var/log/messages以及這個文件的問題
耐心看完說不定有你遇到的問題 1./var/log/messages 首先說一下這個文件的存在,在Ubuntu系統中,這個文件你訪問可能提示找不到這個文件 //使用tail命令訪問 name@name:~$ sudo tail /var/log/messages tail:無法打開'/var/log/messages' 讀取數據: 沒有那個文件或目錄 tail:沒有剩餘文件 可能會出現...
繼續訪問
Zabbix使用總結
1. CentOS 7上啟動zabbix-server失敗,/var/log/messages中的報錯信息如下: Feb 22 12:56:43 mysql-server1 systemd: Starting Zabbix Server with MySQL DB... Feb 22 12:56:43 mysql-server1 kernel: zabbix_server[1599]: s
繼續訪問
zabbix監控linux歷史命令
zabbix
寫評論
評論
3
❺ 13,linux上怎麼動態監控一個文件的內容變化
用途說明
tail命令可以輸出文件的尾部內容,默認情況下它顯示文件的最後十行。它常用來動態監視文件的尾部內容的增長情況,比如用來監視日誌文件的變化。與tail命令對應的是head命令,用來顯示文件頭部內容。
常用參數
格式:tail file
輸出指定文件file的尾部內容,默認輸出最後十行內容(outputthe last part of files。Print the last 10 lines of each FILE tostandard output. )
格式:tail file1 file2...
指定多個文件時,會顯示每個文件的文件名稱,再顯示該稿搏文件的尾部內容(Withmore than one FILE, precede each with a header giving the file name.)
格式:tail
格式:tail -
不指定文件時,表明從標准輸入讀取內容,這通常用在管道線後面,把前一個命令的輸出作為tail的輸入內容(Withno FILE, or when FILE is -, read standard input.)
格式:tail -n file
格式:tail -n n file
格式:tail --lines=n
顯示文件最後n 行,比如tail -20 file就是顯示文件最後10行,這個參數可以配合其他參數與使用。注意上面三種格式的斜體n 是實際要顯示的行數的數值。
注意:tail-n可以顯示最後n行的文本內容。那麼有沒有一種方式顯示從n行開始的文本內容,答案是肯定的。
tail -n +4file表示顯示文件file從第4行開始的內容。從1開始計數。
格式:tail -f file
動態跟蹤文件file的增長情況(outputappended data as the filegrows),tail會每隔一秒去檢查一下文件是否增加新的內容,如果增加就追加在原來的輸出後面顯示。但這種情況,必須保證在執行tail命令時,文件已經存在。
如果想終止tail-f的輸出,按Ctrl+C中斷tail程序即可。如果按Ctrl+C不能中斷輸出,那麼可以在別的終端上執行killall tail強行終止。
注意:採用tail-f來監控文件變化情況時,在某些情況會不太靈。比如在Java應用程序中採用log4j日誌時,每隔1個小時生成一個新的日誌文件,當前的日誌輸出在 LOG4J.LOG中,當一個小時過去後,log4j會將LOG4J.LOG改名成LOG4J.yyyy-mm-dd-HH的形式。那麼這個時候tail -f就不能動態輸出新的日誌內容了。tail命令本身提供了很多參鍵備祥數,似乎都不能完美的解決這個問題。最後只好編寫了一個腳本ftail.sh來跟蹤日 志,詳見《Linux下實時跟蹤log4j日誌文件的bash腳本 - 增強了tail -f的功能 》。剛才我仔細查看了tail的手冊頁,發現tail -F就能夠做到跟蹤這種類型的日誌。轉滾爛念一想,這種需求應該早就被Linux世界的人給滿足了的。
格式:tail -F file
格式:tail--follow=name --retry file
功能與tail -ffile相同,也是動態跟蹤文件的變化,不同的是執行此命令時文件可以不存在。
以上處理都是針對文本文件的,下面是針對二進制文件的情形。
格式:tail -c n file
取文件file的最後n個位元組。
格式:tail -c +n file
取文件file的第n個位元組後的內容。從1開始計數。
使用示例
示例一 輸出文件尾部
先使用seq命令輸出20個數字保存到1.txt,然後嘗試使用tail命令。
[root@new55 ~]# seq 20 >1.txt
[root@new55 ~]# cat 1.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[root@new55 ~]# tail 1.txt
11
12
13
14
15
16
17
18
19
20
[root@new55 ~]# tail -3 1.txt
18
19
20
[root@new55 ~]# tail -n 3 1.txt
18
19
20
[root@new55 ~]# tail --lines=3 1.txt
18
19
20
[root@new55 ~]# tail -n +14 1.txt
14
15
16
17
18
19
20
[root@new55 ~]#
示例二 動態跟蹤tomcat輸出
動態跟蹤tomcat輸出。
[root@web logs]# tail -f catalina.out
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
atorg.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
2010-12-0313:23:02,236 [http-80-15] DEBUG mhr.roi.MhrManager -MhrGetJobReq={seq=991,job_id='86130469-0006'}
2010-12-0313:23:02,301 [http-80-15] DEBUG mhr.roi.MhrManager -MhrGetJobRsp={seq=991,result=0(成功),,info={job_id='86130469-0006',employer_id=86130469,employer_name=無錫富士時裝有限公司,,,job_title='|570309|',job_title0='文員',job_type=f(全 職),issue_time='2010-11-0300:00:00.0',work_address='1902',work_address0=無錫 市,desired_count='1',,,,,,job_desc=大專,1年以上5s管理工作經驗,電腦操作熟練。,required_experience=1(一年以上),,,,required_degree=15(大專),,,,,,,valid_days=30,access_count=12,expire_time='2010-12-0300:00:00.0',job_status=1(過期),,,,,,contact_name=王小 姐,contact_number=0510-85550088,remarks='★此職位是從後台導入的
',enter_time='2010-11-0309:45:11.0',change_time=2010-12-0302:18:05.0,,job_seq=123201,,required_min_age=22,,,accommodations=面議,serve_principal=wjw12580,job_summary=大專,1年以上5s管理工作經驗,電腦操作熟練,,}}
2010-12-0313:23:02,302 [http-80-15] DEBUG mhr.roi.MhrManager -MhrGetEmployerReq={seq=0,employer_id='86130469'}
2010-12-0313:23:02,304 [http-80-15] DEBUG mhr.roi.MhrManager -MhrGetEmployerRsp={seq=0,result=0(成功),,info= {employer_id='86130469',employer_name=無錫富士時裝有限公司,employer_region=1902,employer_address=無錫市濱湖鎮山水城科技園8號,,employer_desc=無錫 富士時裝(集團)有限公司成立於1992年,是中日韓合資企業。主要生產高檔針織時裝,產品全部外銷,連續多年榮獲「中國行業500強」、「全國工業重點 行業效益十佳企業」、「無錫市百佳企業」等稱號。公司總部位於江蘇省無錫市濱湖鎮山水城科技園,全新的廠房設施,佔地面積30畝。公司分別在蘇州、泰興、 鹽城、徐州設有分廠,集團公司現有職工1500多人,年銷售額近3億元。,,,,,,open_mode=5(系統自動操 作),open_time='2010-11-0309:45:10.0',,,,,contact_name=王小 姐,contact_number=0510-85550088,,,,,employer_status=1(已經開通),,,login_password=871386,,agency=false,balance=100.0000,,,,,serve_principal=wjw12580,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,remarks='此帳號由「12580zgz-鹽城維克多網路傳媒有限公司」導入',enter_time='2010-11-03 09:45:10.0',}}
Ctrl+C
[root@web logs]#
示例三 動態跟蹤log4j日誌
經過我的試驗,發現tail -F功能的強大,它等同於--follow=name--retry。如果你跟蹤的文件被移動或者改名後, 你還想繼續tail它, 你可以使用這個選項。
tail手冊頁中關於--retry的說明:keep trying to open a file even if itis inaccessible when tail starts or if it becomes inaccessible later; useful when following by name, i.e., with --follow=name。 tail命令開始執行時文件不存在或者執行過程中文件不能訪問,會不斷重試。
關於--follow的說明:-f, --follow[={name|descriptor}]output appended data as the file grows; -f, --follow, and --follow=descriptorare equivalent 。--follow=descriptor表明跟蹤的是文件描述符, --follow=name表明跟蹤的是文件名稱。 如果文件名稱改掉之後,還想繼續跟蹤原文件名稱對應的尾部內容,就得使用-F選項而不是-f選項了。
[root@webimx_server]# tail -F log/IMX.LOG
14:13:28.892 INFO ImxConnection[6] imx.server.ImxConnection - RXIMX_ACTIVE_TEST{seq=3460,client_id=1291343201649042,presence_status=1(presence_status_online),}
14:13:28.892 DEBUGImxConnection[6] org.logicalcobwebs.proxool.ImxDB - 006417 (01/02/00) -Connection #9 served
14:13:28.892 INFO ImxConnection[6] imx.dbo.ImxOnlineInfoRow - EXEC SQL UPDATEimx_online_info SET last_active_time = '2010-12-03 14:13:28.0' WHERE account ='zhy'
14:13:28.894 DEBUGImxConnection[6] org.logicalcobwebs.proxool.ImxDB - UPDATE imx_online_info SETlast_active_time = '2010-12-03 14:13:28.0' WHERE account = 'zhy'; (1milliseconds)
14:13:28.894 DEBUGImxConnection[6] org.logicalcobwebs.proxool.ImxDB - 006417 (00/02/00) -Connection #9 returned (now AVAILABLE)
14:13:29.625 INFO ImxConnection[6] imx.server.ImxConnection - RXIMX_ACTIVE_TEST{seq=3461,client_id=1291343201649042,presence_status=1(presence_status_online),}
14:13:29.626 DEBUGImxConnection[6] org.logicalcobwebs.proxool.ImxDB - 006418 (01/02/00) -Connection #8 served
14:13:29.626 INFO ImxConnection[6] imx.dbo.ImxOnlineInfoRow - EXEC SQL UPDATEimx_online_info SET last_active_time = '2010-12-03 14:13:29.0' WHERE account ='zhy'
14:13:29.627 DEBUGImxConnection[6] org.logicalcobwebs.proxool.ImxDB - UPDATE imx_online_info SETlast_active_time = '2010-12-03 14:13:29.0' WHERE account = 'zhy'; (0milliseconds)
14:13:29.653 DEBUGImxConnection[6] org.logicalcobwebs.proxool.ImxDB - 006418 (00/02/00) -Connection #8 returned (now AVAILABLE)
Ctrl+C
[root@webimx_server]#
❻ Linux 監控文件被什麼進程修改
如果只是監視普通文件操作,一般情況下不需要修改內核。 運行「strace -e file -o log.txt 可執行文件名" 即可。對已經運行的程序,用strace -p pid。 最創建子進程的,加-f參數。具體man strace。
❼ Linux如何監控目錄下的文件情況,一旦有新文件就以硬鏈接的方式復制到其他目錄
#! /bin/bash
$FILE_LIST=$(find . -type f -cmin -5 -maxdepth 1)
for file in ${FILE_LIST} ;do
ln -f ${file} ~/tmp/${file}
done
##其中find命令是核心
##-type f表示只查找普通文件
##-cmin -5表示只查找5分鍾之內創建的文件
##-maxdepth 1表示查找的目錄深度,1表示只查找當前目錄,如果不指定-maxdepth將遞歸查找
##ln -f ${file} ~/tmp/${file}是將查找到的文件硬鏈接到~/tmp目錄
##你可以根據自己的需要再做相應的修改
❽ 有什麼監控Linux伺服器的工具嗎
1、Ganglia
是一個集群監控軟體,可以監視和顯示集群中的節點的各種狀態信息,比如:CPU、mem、硬碟利用率、I/O負載、網路流量情況等,同時可以將歷史數據以曲線方式通過php頁面呈現,此軟體主要是用來監控系統性能的軟體,通過曲線可以很容易見到每個節點的工作狀態,對合理調整、分配系統資源,提高系統整體性能起到重要作用。
它是分布式的監控系統,有兩個Daemon,是一個Linux下圖形化監控系統運行性能的軟體,界面美觀、豐富,功能強大。
RRDtool是系統存放和顯示time-series (即網路帶寬、溫度、人數、伺服器負載等) 。並且它提出有用的圖表由處理數據強制執行有些數據密度。
2、Cacti
是一套基於PHP、MySQL、SNMP及RRDTool開發的網路流量監測圖形分析工具,通過snmpget來獲取數據,使用RRDTool繪畫圖形,提供了非常強大的數據和用戶管理功能,可以指定每一個用戶能查看樹狀結 構、host以及任何一張圖,還可以與LDAP結合進行用戶驗證,同時也能自己增加模板,功能非常強大完善。
cacti是用php語言實現的一個軟體,它的主要功能是用snmp服務獲取數據,然後用rrdtool儲存和更新數據,當用戶需要查看數據的時候用rrdtool生成圖表呈現給用戶。因此,snmp和rrdtool是cacti的關鍵。
3、Zenoss
是一款智能監控軟體,允許IT管理員依靠單一的WEB控制台來監控網路架構的狀態和健康度。Zenoss Core同時也是開源的網路與系統管理軟體。
Zenoss提供功能豐富的產品,以監測整個IT基礎設施:
網路 -路由器,交換機,防火牆,接入點;
伺服器 -微軟的Windows , Linux , Unix系統,惠普, NetApp,戴爾;
虛擬化 -完整虛擬機虛擬化基礎架構( VI3 )管理, XenSource監測;
應用領域 -Process(程序),Port,網路應用服務, Web服務,資料庫,中間件,商業企業應用方案 ;
4、Argus
是一個網路連接監控器,可以利用它來定製監控網路中符合某種條件的計算機,例如網路空閑、斷開等。
5、Monit
是一款功能非常豐富的進程、文件、目錄和設備的監測軟體,用於UNIX平台,可以自動修復那些已經停止運行的程序,適合處理那些由於多種原因導致的軟體錯誤。
6、Nagios
是一個監視系統運行狀態和網路信息的監視系統,能監視所指定的本地或遠程主機以及服務,同時提供異常通知功能等Nagios可運行在Linux/Unix平台之上,同時提供一個可選的基於瀏覽器的WEB界面以方便系統管理人員查看網路狀態,各種系統問題,以及日誌等等。
Nagios的主要功能特點:
監視網路服務(SMTP、POP3、HTTP、NNTP、PING等);
監視主機資源(進程、磁碟等);
簡單的插件設計可以輕松擴展Nagios的監視功能;
服務等監視的並發處理;
錯誤通知功能(通過email、pager或其他用戶自定義的方法)。
❾ 在linux中實現操作系統的文件使用率的監控如果發現有文件系統>=80%記錄當前時間及具體文件名稱和使用率
#!/bin/bash
#作者『』『』『』『』
#時間
dest_files=/home/sysadmin/fs_monitor.log
#首先去%號截取字元判斷是否大於80
for sort in `df|sed -n '2,$'p|sed s/%//g|gawk '{print $4}'`
do
if [ "$sort" -ge 80 ]
#大於80要把大於80的文件系統名稱信息找出來
then
`df|sed -n '2,$'p|sed s/%//g|gawk '{if ($5>=80) print} '>>$dest_files
echo "------------------------------------">>$dest_files
date +%y+%m+%d>>$dest_files;
fi
done
#########上面是腳本############
crontab -e
####上面是計劃#########
*/1 * * * * /bin/sh /home/test.sh
####################
好久沒寫了
❿ Linux gcc或者g++編程 下如何監視文件夾中文件的改變
從編程實現上來說,linux下做這個事情,要比windows上做簡單,windows上有相關API提供介面,比如VC下的ReadDirectoryChanges函數,但其實它的功能並不是很完善,我之前曾經做過一個windows下類似的工具,如果要做到很完善的功能,要涉及到windows底層驅動。而linux下做這個事情就簡單多了,從內核2.6.13開始,inotify編程介面就已經被加入到系統內核中,用來監控文件系統事件,它能監控到的事件包含文件/文件夾的新建,刪除,修改,屬性被修改,打開等等,功能比windows API提供的要豐富得多。在linux下輸入man inotify即可查看該介面的編程手冊,要實現對某個文件夾的監控,只需要使用該介面提供的inotify_init, inotify_add_watch, inotify_rm_watch三個函數即可。具體可以網路inotify,很容易就能找到相關示例代碼。
附Linux下inotify編程介面部分截圖:
點擊圖片可以看大圖。