我想为nagios3解析status.dat文件,并用python脚本输出为xml.xml部分很简单,但我该如何解析文件呢?使用多行正则表达式?由于监控了许多主机和服务,文件可能会很大,将整个文件加载到内存中是否明智?
我只需要提取具有关键状态和所属主机的服务.
任何帮助和指向正确的方向将受到高度赞赏.
LE这是文件的外观:
########################################
# NAGIOS STATUS FILE
#
# THIS FILE IS AUTOMATICALLY GENERATED
# BY NAGIOS. DO NOT MODIFY THIS FILE!
########################################
info {
created=1233491098
version=2.11
}
program {
modified_host_attributes=0
modified_service_attributes=0
nagios_pid=15015
daemon_mode=1
program_start=1233490393
last_command_check=0
last_log_rotation=0
enable_notifications=1
active_service_checks_enabled=1
passive_service_checks_enabled=1
active_host_checks_enabled=1
passive_host_checks_enabled=1
enable_event_handlers=1
obsess_over_services=0
obsess_over_hosts=0
check_service_freshness=1
check_host_freshness=0
enable_flap_detection=0
enable_failure_prediction=1
process_performance_data=0
global_host_event_handler=
global_service_event_handler=
total_external_command_buffer_slots=4096
used_external_command_buffer_slots=0
high_external_command_buffer_slots=0
total_check_result_buffer_slots=4096
used_check_result_buffer_slots=0
high_check_result_buffer_slots=2
}
host {
host_name=localhost
modified_attributes=0
check_command=check-host-alive
event_handler=
has_been_checked=1
should_be_scheduled=0
check_execution_time=0.019
check_latency=0.000
check_type=0
current_state=0
last_hard_state=0
plugin_output=PING OK - Packet loss …Run Code Online (Sandbox Code Playgroud) 我正在帮助台应用程序中工作,我有一个独立的脚本来查询邮件服务器并解析它在那里找到的邮件.
我面临以下问题:我如何以可靠的方式弄明白邮件是什么邮件回复?
我可以在主题中添加一些内容,例如"[ticket:21312]"并查找该内容但是如果用户更改了主题该怎么办?还有另外一种方法吗?我可以通过设置自定义邮件标题来查找,或者在用户回复的邮件服务器之间不保留标题吗?当我从我的应用程序向非现有用户或配额已满的用户发送消息时,他的服务器以通常的标准消息回复"邮件守护程序在....不能......"然后主题也将被修改,我不能正确地将消息作为对现有邮件的回复.
gmail是如何做到的?在几乎所有情况下,消息都完美地排序.
我有一个文件夹,我想在里面搜索一些字符串.问题是一些文件可能是zip,exe,ogg等.我可以检查一下它是什么类型的文件所以我只打开并搜索txt,PHP等文件.我不能依赖文件扩展名.
我有以下div <div data-item-id="0234">,当我尝试使用$element.data("itemId")jQuery 访问数据时将其转换为int,现在我得到234而不是"0234".有什么方法可以获得实际数据"0234"吗?
我只能CREATE TABLE IF NOT EXISTS用来创建一个不存在的表。
我该如何做CREATE INDEX..才能仅在不存在时创建它?
启动SQLAlchemy的最佳资源/教程是什么?也许一些简单的一步一步的东西,比如创建一个简单的表并使用它并从那里上升.
我想在服务器上创建一个Web界面,管理另一台服务器上的几个DNS服务器.
似乎唯一有效的方法是在 urls.py 中添加装饰器,这很丑陋。
有什么方法可以在视图中应用这个装饰器吗?
class HomeView(View):
@method_decorator(cache_page(60 * 60))
def dispatch(self, *args, **kwargs):
return super(HomeView, self).dispatch(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)
我已经尝试过上述方法,但似乎不起作用。
有没有一种方法可以计算Spring控制器中其余的URL部分?
即如果我的路线是/user/{userId}/*我可以获取userId参数和其余的URL?那个部分?
例如对于/user/1/this/is/a/path.html?a=b我应该得到
userId = 1和userUrl = /this/is/a/path.html?a=b
我已经看到了一些解决方案并做了一些谷歌搜索,但是它们似乎有些奇怪的方式(很可能是因为答案是针对较旧版本的Spring的),所以在较新的版本中,如何才能做到这一点呢? ?
假设我们有一个类似下面的bash脚本:
echo test
ls -alh
pwd
echo test2
Run Code Online (Sandbox Code Playgroud)
因此,文件上可以有任意数量的命令,每个命令产生或不产生自己的输出.
然后上面的文件像这样运行/bin/bash -xe test.sh,它将产生以下输出:
+ echo test
test
+ ls -alh
total 32
drwx------+ 6 daniels staff 204B Apr 3 23:33 .
drwxr-xr-x+ 64 daniels staff 2.1K Apr 4 01:53 ..
-rw-r--r--@ 1 daniels staff 6.0K Apr 3 23:33 .DS_Store
drwxr-xr-x 5 daniels staff 170B Mar 15 17:03 Todo
-rw-r--r--@ 1 daniels staff 282B Apr 3 20:39 test.py
-rw-r--r--@ 1 daniels staff 97B Apr 4 01:52 test.sh
+ pwd
/Users/daniels/Desktop …Run Code Online (Sandbox Code Playgroud) python ×4
parsing ×2
bash ×1
bind ×1
django ×1
dns ×1
h2 ×1
java ×1
javascript ×1
jquery ×1
linux ×1
nagios ×1
shell ×1
sorting ×1
spring ×1
spring-boot ×1
spring-mvc ×1
sql ×1
sqlalchemy ×1