2014-12-14 4 views
0

API 호출을 사용하여 내 등록 기관에 내 도메인의 만료 날짜를 쿼리하고 있습니다. 데이터는 DD/MM/YYYY 형식의 문자열로 반환됩니다. 대부분 미래의 날짜입니다.Zabbix 날짜 비교

만료일이 20 일 또는 그 이하일 때 트리거를 시작하고 싶습니다.

오늘과 스크립트에 의해 반환 된 문자열의 날짜 값 사이의 차이를 어떻게 계산할 수 있습니까? (실제로 이것은 UserParameter입니다)?

답변

2

Zabbix는 수행 할 수 없습니다. DD/MM/YYYY 문자열을 유닉스 타임 스탬프로 저장할 수 있다면 가능할 것입니다 (사용자 매개 변수이므로 쉽게 될 것입니다). 그러면 트리거 (20일 = 20 * 24 * 60 * 60 초 = 1728000sec) 될 것이다

{expiry_date_unixtimestamp.last()-expiry_date_unixtimestamp.now()}<1728000 

파이썬 하나 라이너 DD/MM은/YYY 변환 :

echo -n "30/12/2014" | python -c 'exec("import time, sys;from time import mktime;print int(mktime(time.strptime(sys.stdin.read(), \"%d/%m/%Y\")))")' 

그래서 당신 userparameter가되어야한다 :

UserParameter=expiry_date_unixtimestamp,<code: obtain DD/MM/YYY string, no new line at he end of string> | python -c 'exec("import time, sys;from time import mktime;print int(mktime(time.strptime(sys.stdin.read(), \"%d/%m/%Y\")))")' 
+0

감사합니다. 1 월. dd/mm/yyyy 형식의 문자열을 unixtime 번역하는 것을 도와 줄 수 있습니까? –