您好,登錄后才能下訂單哦!
既然做運維,軟件環境搭建好了,接下來做的就是監控,針對tomcat都監控哪些指標,用哪些軟件,什么都有,我覺得這個不錯。
監控系統需要能夠有效的支持白盒監控和黑盒監控。通過白盒監控能夠了解其內部的實際運行狀態,通過對監控指標的觀察能夠預判可能出現的問題,從而對潛在的不確定因素進行優化。而黑盒監控,常見的如HTTP探針,TCP探針等,可以在系統或者服務在發生故障時能夠快速通知相關的人員進行處理。
監控的四個黃金指標可以在服務級別幫助我們更好地衡量終端用戶體驗、服務中斷、業務影響等層面的問題。
主要關注以下四種類型的指標:錯誤,延遲,流量以及飽和度。
常見的500,403,404,訪問錯誤,
延遲,完成一次請求的時間,
通過對黑盒、白盒監控的理解,結合監控的四個黃金指標,針對Tomcat的重要監控指標,可以從以下幾個方面進行考慮:
連接:https://zhuanlan.zhihu.com/p/54226097
剩余的就是看腳本的能力了,用zabbix出好看的圖,elk也可以搜索日志來實現kibana出圖。
連接:https://juejin.im/post/5d691f2df265da03c128af42
這個連接不錯https://zhuanlan.zhihu.com/p/52231137
通過設置一些簡單權限,您可以立即開始使用Tomcat Manager查看Tomcat和JVM數據。一旦為JMX啟用了遠程連接,就可以使用JConsole等工具通過簡單的圖形界面監控Tomcat數據。Tomcat還在其訪問和服務器日志中提供有關請求和服務器活動的基本診斷信息。
前期了解了基本的框架,搭建了tomcat9.0版本,因為面試提到了tomcat監控,順便配置了一下tomcat歡迎界面的三個按鈕,因為臨時有工作忙活了一天,特別記錄一下,網上好多資料都是馬馬虎虎的,
推薦一個官網的連接,寫的比較好
https://tomcat.apache.org/tomcat-9.0-doc/manager-howto.html#Deploy_a_Directory_or_WAR_by_URL
環境
CentOS Linux release 7.3.1611 (Core)
tomcat9.0.27下載
jdk-8u191-linux-x64.tar.gz下載 密碼v1hu
首先安裝jdk,如果自帶的jdk網上提示都要卸載了,我的jdk前期安裝的比較亂,所以
rpm -qa | grep jdk
然后找到的已安裝的給卸載了
yum remove XXXXX
tar -zxvf jdk-8u191-linux-x64.tar.gz
mv jdk-8u191-linux-x64 jdk13.0.1
添加.bash_profile JAVA_HOME
JAVA_HOME=/root/jdk13.0.1/
export PATH=$PATH:$JAVA_HOME/bin
[root@localhost ~]# tar -zxvf apache-tomcat-9.0.27.tar.gz
[root@localhost ~]# cp apache-tomcat-9.0.27 tomcat9.0.27
這樣tomcat解壓開就完成了,不用安裝,拿來就用
[root@localhost tomcat9.0.27]# sh bin/startup.sh
Using CATALINA_BASE: /root/tomcat9.0.27
Using CATALINA_HOME: /root/tomcat9.0.27
Using CATALINA_TMPDIR: /root/tomcat9.0.27/temp
Using JRE_HOME: /usr
Using CLASSPATH: /root/tomcat9.0.27/bin/bootstrap.jar:/root/tomcat9.0.27/bin/tomcat-juli.jar
Tomcat started.
[root@localhost tomcat9.0.27]#
這樣就是安裝完成了,標記的地方有三個按鈕
server status
manager app
host manager
點擊任何一個都會提示
標記了三個地方:
第一行提示是否配置了context.xml 這個提示比較惡心啊 不注意看不知道是哪兒的context.xml,
找了一下
[root@localhost tomcat9.0.27]# find ./ -name context.xml
./conf/context.xml
./webapps/host-manager/META-INF/context.xml
./webapps/manager/META-INF/context.xml一直以為是CATALINA_BASE/conf下的,其實不是,人家英文提示了是manager下的,也就是CATALINA_BASE/webapps/manager/META-INF/context.xml 下的
第二個是配置tomcat-users.xml
第三個是怎么配置tomcat-users.xml
第一配置manger目錄下的context.xml
<Context antiResourceLocking="false" privileged="true" >
<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="d.\d+.\d+.\d+|::1|0:0:0:0:0:0:0:1" /> -->這一行我加了注釋,原文是沒有的,這個意思是誰可以訪問,
<Manager sessionAttributeValueClassNameFilter="java.lang.(?:Boolean|Integer|Long|Number|String)|org.apache.catalina.filters.CsrfPreventionFilter\$LruCache(?:\$1)?|java.util.(?:Linked)?HashMap"/>
</Context>
第二是 conf/tomcat-users.xml 這個文件是CATALINA_BASE目錄
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-status"/>
<role rolename="manager-jmx"/>
<user username="tomcat" password="s3cret" roles="admin-gui,manager-gui,manager-script,manager-status"/>
</tomcat-users> 這個是在tomcat-users標簽里邊添加的
說明一下這個host manger標簽跟上邊兩個用的不是一個配置,host manger用的是/webapps/host-manager/META-INF/context.xml 個人理解這三個是一個是匯總,另外是針對某一個app的,就像水龍頭,開的是最大的口而manger是三分的管,host-manger是五分的管,所以權限可以配置不一樣的,
另外配置了一個案例官方的sample 這個是conf/server.xml
<Host name="sample" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。