Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

您好,我在使用tomcat报警这块,使用zabbix_get获取到的数据不带8080这个端口 #26

Closed
lpf190 opened this issue Nov 13, 2017 · 4 comments

Comments

@lpf190
Copy link

lpf190 commented Nov 13, 2017

但是我在agent端直接执行tomcat.py --list却没有问题?请问是什么原因?

@lpf190
Copy link
Author

lpf190 commented Nov 13, 2017

[root@bogon tmp]# python /usr/local/zabbix/etc/scripts/tomcat.py --list
{
"data":[
{
"{#BIZPORT}":8080,
"{#CTLN_HOME}":"/usr/local/tomcat",
"{#DIRNAME}":"tomcat",
"{#JVMPORT}":12345,
"{#PID}":28791,
"{#RUNUSER}":"root"
}
]
}

[root@bogon ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.56.5 -k jmx.tomcat.discovery
{
"data":[
{
"{#CTLN_HOME}":"/usr/local/tomcat",
"{#DIRNAME}":"tomcat",
"{#JVMPORT}":12345,
"{#PID}":28791,
"{#RUNUSER}":"root"
}
]
}

@qiueer
Copy link
Owner

qiueer commented Nov 16, 2017

权限问题,用root用户手动执行命令,日志及缓存文件都是以root的权限写入,但是zabbix进程用zabbix用户运行。解决方法,调整/tmp目录下对应的缓存文件、日志文件的权限。

@RyanZhang2015
Copy link

你好, 我在执行python tomcat.py --list报如下错误。
Traceback (most recent call last):
File "tomcat.py", line 251, in main
print zbx_ex_obj.get_port_list()
File "tomcat.py", line 112, in get_port_list
parser.parse(server_xml)
File "/usr/lib/python2.7/xml/sax/expatreader.py", line 110, in parse
xmlreader.IncrementalParser.parse(self, source)
File "/usr/lib/python2.7/xml/sax/xmlreader.py", line 123, in parse
self.feed(buffer)
File "/usr/lib/python2.7/xml/sax/expatreader.py", line 213, in feed
self._parser.Parse(data, isFinal)
File "/usr/lib/python2.7/xml/sax/expatreader.py", line 317, in start_element
self._cont_handler.startElement(name, AttributesImpl(attrs))
File "tomcat.py", line 34, in startElement
protocal = attributes["protocol"]
File "/usr/lib/python2.7/xml/sax/xmlreader.py", line 316, in getitem
return self._attrs[name]
KeyError: 'protocol'

但是运行python tomcat.py -b "Catalina:type=ThreadPool,name=http-bio-8090" -k currentThreadCount -p 12345可以拿到值。
这大概是什么问题呢。最关键问题是Qiueer-LLD-JMX-Tomcat自动发现没工作,在Info那有红色感叹号提示“Value should be a JSON object ”.
image

@qiueer
Copy link
Owner

qiueer commented Dec 26, 2017

已修复

@qiueer qiueer closed this as completed Dec 26, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants