Hi,

the hudson tests failed, so i committed another modification.
Now i get special characters on the command line

OMD[stest]:~$ printf 'GET comments\nColumns: comment_id
comment\nOutputFormat: csv\n' | unixcat tmp/run/live
66;îcî un cômméntère
67;This host has been scheduled for fixed downtime from 2011-12-08 21:44:01
to 2011-12-08 23:44:01.  Notifications for the host will not be sent out
during that time period.
 
and the unittests look good, too.

Gerhard

> -----Ursprüngliche Nachricht-----
> Von: Gerhard Lausser [mailto:gerhard.laus...@consol.de] 
> Gesendet: Donnerstag, 8. Dezember 2011 23:14
> An: shinken-devel@lists.sourceforge.net
> Betreff: Re: [Shinken-devel] Slight problem with livestatus 
> modulewithdirect queries
> 
> Hi,
> 
> as you can see from the screenshot, accents are no problem in 
> the Thruk gui.
> That is because it uses OutputFormat:json in the livestatus 
> queries. And the
> json module seems to handle these special characters automagically.
> Now i made this:
> 
>          stdout_encoding = sys.getdefaultencoding()
> ...
>                         elif isinstance(x, basestring):
>                             
> l.append(x.encode(stdout_encoding, 'replace'))
>                         else:
>                             l.append(str(x)) 
> 
> when i run the broker as a daemon, stdout_encoding is 
> "ascii", so this code
> is practically the same as your "dirty" workaround. You 
> should see your
> accents.
> 
> Gerhard
> 
> 
> > -----Ursprüngliche Nachricht-----
> > Von: Denis GERMAIN [mailto:dt.germ...@gmail.com] 
> > Gesendet: Donnerstag, 8. Dezember 2011 14:56
> > An: shinken-devel@lists.sourceforge.net
> > Betreff: Re: [Shinken-devel] Slight problem with livestatus 
> > module withdirect queries
> > 
> > For now i used the following workaround, which is really 
> > dirty but seems to work. I post it in case someone uses it 
> > also (even though it's highly improbable)
> > 
> > 
> > cd 
> /usr/lib/python2.6/site-packages/shinken/modules/livestatus_broker/
> > cp livestatus_response.py  livestatus_response.py.old
> > vi livestatus_response.py 
> > line 92
> > --                            l.append(str(x))
> > ++                            if type(x) == int:
> > ++                                l.append(str(x))
> > ++                            else:
> > ++                                x = x.encode('ascii', 'replace')
> > ++                                l.append(str(x))
> > I had to make a difference between int which don't have the 
> > .encode() method and string types
> > 
> > Denis GERMAIN
> > 
> > 
> > 2011/12/7 Denis GERMAIN <dt.germ...@gmail.com>
> > 
> > 
> >     Hi,
> >     
> >     I have a new issue, partly related to this script. The 
> > script in itself is now working fine, thanks to your 
> > modifications, but we are getting a Traceback on Livestatus 
> > broker because we have special French caracters in our 
> > comments for hosts down (é, è, à, etc...)
> >     
> >     This didn't happen before because we couldn't add these 
> > caracters at all in Livestatus until our last Shinken upgrade 
> > (there has been some additions to prevent these to create 
> > bugs in the latest version of Shinken)
> >     
> >     I don't know what kind of "protection" has been added 
> > in the code to prevent these special caracters from crashing 
> > the broker, but if I knew it I could add it here also, in 
> > order to avoid the error I have here (see attached traceback)
> >     
> >     Regards
> >     
> >     Denis GERMAIN
> > 
> > 
> >     2011/11/3 Denis GERMAIN <dt.germ...@gmail.com>
> >     
> > 
> >             Hi
> >             
> >             This indeed seems to be a valid solution, I 
> > launched it many times, with no more issue on the broker. I'm 
> > going to put back my script in production, thanks to your help.
> >             
> >             Many thanks Gerhard
> >             
> >             Denis
> >             
> >             
> >             2011/11/2 Gerhard Lausser <gerhard.laus...@consol.de>
> >             
> > 
> >                     Hi,
> > 
> >                      
> > 
> >                     maybe the Nagios livestatus module is 
> > more robust. I took your script and it crashed, but only when 
> > I had hosts without a comment. I rewrote it a little bit and 
> > it works now (CentOS5.6,64,Python 2.4.3)
> > 
> >                      
> > 
> >                     def main_function():
> > 
> >                             host_table = send_query("GET 
> > hosts\nFilter: state = 0\nColumns: name 
> > comments\nOutputFormat: csv\n")
> > 
> >                             for host in host_table:
> > 
> >                                     host_name, 
> > host_comment_ids = host
> > 
> >                      
> > 
> >                                     try:
> > 
> >                                         
> > host_last_comment_id = host_comment_ids.split(',')[-1] #use 
> > only last comment 
> > 
> >                                         
> > host_last_comment_id = str(int(host_last_comment_id))  # if 
> > it is not a number (or empty), then it raises an exception
> > 
> >                                         comment = 
> > send_query("GET comments\nColumns: comment_id 
> > comment\nFilter: comment_id = "+host_last_comment_id+"\n")
> > 
> >                                         print comment
> > 
> >                                     except Exception:
> > 
> >                                         print host_name + " 
> > has no comments"
> > 
> >                      
> > 
> >                     OMD[denis]:~$ python denis.py 
> > 
> >                     [['16', 'kaas']]
> > 
> >                     [['2', 'schmarrn']]
> > 
> >                     omd11 has no comments
> > 
> >                     [['4', 'schmarrn']]
> > 
> >                     [['5', 'schmarrn']]
> > 
> >                     [['6', 'schmarrn']]
> > 
> >                     [['7', 'schmarrn']]
> > 
> >                     [['17', 'kaas-omd-2']]
> > 
> >                     [['9', 'schmarrn']]
> > 
> >                     [['10', 'schmarrn']]
> > 
> >                     [['11', 'schmarrn']]
> > 
> >                     [['12', 'schmarrn']]
> > 
> >                     [['13', 'schmarrn']]
> > 
> >                     [['14', 'schmarrn']]
> > 
> >                     [['15', 'schmarrn']]
> > 
> >                      
> > 
> >                     Even if I add lots of main_function() 
> > calls to the script, I get valid output.
> > 
> >                     Can you please try it with my modifications?
> > 
> >                      
> > 
> >                     Gerhard
> > 
> >                      
> > 
> >                     Von: Denis GERMAIN 
> > [mailto:dt.germ...@gmail.com] 
> >                     Gesendet: Mittwoch, 2. November 2011 18:08
> >                     An: shinken-devel@lists.sourceforge.net
> >                     Betreff: Re: [Shinken-devel] Slight 
> > problem with livestatus module with direct queries
> > 
> >                      
> > 
> >                     Hi again,
> >                     
> >                     I might have been a little optimistic, 
> > because my prod crashed again.
> >                     
> >                     This time I used python code which has 
> > been adapted from the website from Livestatus conceptor, so I 
> > guess that this time the queries are correctly done
> >                     
> >                     This error is really strange, because 
> > it seems to be realted to the number of request I do in a 
> > short period of time. I managed to reproduce the error on my 
> > dev environment *relief*. Here, everything works fine until 
> > the broker crashes.
> >                     
> >                     I might be totally wrong here as I 
> > don't know much of Livestatus coding in Shinken, but is it 
> > possible that the maximum number of socket has been reached 
> > or something like that?
> >                     
> >                     Attached, you can see the scenario I 
> > used to reproduce the error :
> >                     I first added comments on running hosts 
> > (in order to have a certain amount of hosts with comments on them)
> >                     Then I launched my script
> >                     Livestatus answered correctly for some 
> > hosts, then crashed, like on prod env
> >                     
> >                     If this is indeed a problem with max 
> > number of sockets in livestatus module, I could recode my 
> > script in order to avoid making too many queries (getting all 
> > hosts, then getting all comments, only 2 queries here), but 
> > I'd like to be sure it's really that in order to avoid 
> > further issues on prod environnement
> >                     
> >                     Regards
> >                     
> >                     Denis GERMAIN
> > 
> >                     2011/10/27 Olivier Hanesse 
> > <olivier.hane...@gmail.com>
> > 
> >                     hi,
> > 
> >                      
> > 
> >                     I used to work with netcat too, and I 
> > got some issues in the past with some netcat version.
> > 
> >                     On debian for example, you have 2 versions : 
> > 
> >                      
> > 
> >                     netcat-openbsd - TCP/IP swiss army knife
> > 
> >                     netcat-traditional - TCP/IP swiss army knife
> > 
> >                      
> > 
> >                     One was working, but not the other one.
> > 
> >                     Maybe you could give a try and install 
> > the other version.
> > 
> >                      
> > 
> >                     Regards
> > 
> >                      
> > 
> >                     Olivier
> > 
> >                      
> > 
> >                     2011/10/27 Denis GERMAIN <dt.germ...@gmail.com>
> > 
> >                     Hi,
> >                     
> >                     Thanks for the answer, I had forgotten 
> > that we used netcat instead of unixcat. I have still to 
> > confirm this, but i'm think we have a problem because we're 
> > not correctly closing the connection with netcat.
> >                     
> >                     I'm going to code it in python in order 
> > to do this in a proper way.
> >                     
> >                     I'll keep you posted if this is not the 
> > issue but I'm pretty sure that this is our problem.
> >                     
> >                     Thanks!
> >                     
> >                     Denis
> > 
> >                     2011/10/26 Gerhard Lausser 
> > <gerhard.laus...@consol.de>
> > 
> >                     Hi,
> > 
> >                      
> > 
> >                     which version of Shinken do you use?
> > 
> >                     I have here a 0.8 and can’t reproduce 
> > your error. There’s one host (omd-disco) which I made DOWN by 
> > submitting a passive command and which has two comments attached.
> > 
> >                      
> > 
> >                     OMD[disco]:~$  printf "GET 
> > hosts\nFilter: state = 1\nColumns: name comments\n"|unixcat 
> > /omd/sites/disco/tmp/run/live
> > 
> >                     omd-disco;3,4
> > 
> >                      
> > 
> >                     OMD[disco]:~$ printf 'GET 
> > comments\nColumns: comment_id comment\n' | unixcat 
> > /omd/sites/disco/tmp/run/live 
> > 
> >                     3;i bi hi
> > 
> >                     4;i kos ned oft gnou sogn, i bi hi
> > 
> >                      
> > 
> >                     OMD[disco]:~$ printf 'GET 
> > comments\nColumns: comment_id comment\nFilter: comment_id = 
> > 3\n' | unixcat /omd/sites/disco/tmp/run/live 
> > 
> >                     3;i bi hi
> > 
> >                      
> > 
> >                     Gerhard
> > 
> >                      
> > 
> >                      
> > 
> >                     Von: Denis GERMAIN 
> > [mailto:dt.germ...@gmail.com] 
> >                     Gesendet: Mittwoch, 26. Oktober 2011 16:40
> >                     An: shinken-devel@lists.sourceforge.net
> >                     Betreff: [Shinken-devel] Slight problem 
> > with livestatus module with direct queries
> > 
> >                      
> > 
> >                     Hello list,
> >                     
> >                     For historic reporting purpose, we have 
> > a developper in our team that directly execute queries to the 
> > livestatus module via commands like
> >                     printf 'GET hosts\nFilter: state = 1' | 
> > nc 10.197.64.97 50000 > /data/ftptrace/nagios/thruk.txt
> >                     printf 'GET comments\nFilter comment_id 
> > = '$commid | nc 10.197.64.97 50000 | tail -1 | awk -F";" 
> '{print $2}'
> >                     
> >                     This gives us informations about hosts 
> > down which are then reformatted in a dusty old report sent to 
> > our client.
> >                     At the beginning we used only the first 
> > request for our report, as comments were directly available 
> > from the host information given by the query. After an 
> > update, we didn't realised that the comments were not 
> > directly in the query result, but only the comment ID (which 
> > I grant you is much more "clean")
> >                     
> >                     1) Problem is that now, we need to 
> > query for the comments (selecting good comment ID) and that 
> > it constantly break livestatus module (which doesn't always 
> > manage to relaunch itself)
> >                     
> >                     2) We also noted that when we use the 
> > Column statement (to select only the columns we need), the 
> > livestatus module instantly crash
> >                     
> >                     I realise that our problem is a little 
> > exotic, as the vast majority of livestatus users only use it 
> > through Thruk, but if something could be done (or as already 
> > been done), we would be grateful (our developper mostly :-p)
> >                     
> >                     Denis GERMAIN
> >                     
> >                     PS: An example traceback. I don't have 
> > much more yet, we are running Shinken on production (I 
> > already see admins frowning eyes, but it's stable enough if 
> > you don't try strange things like us) and my manager don't 
> > really like us crashing it on purpose. We'll try to reproduce 
> > on preproduction ASAP, but if this can help pinpointing the issue...
> >                     
> >                     [1319536549] [broker-1] Traceback (most 
> > recent call last):
> >                       File 
> > "/usr/lib/python2.6/site-packages/shinken/modules/livestatus_b
> roker/livestatus_broker.py", line 828, in main
> >                         self.do_main()
> >                       File 
> > "/usr/lib/python2.6/site-packages/shinken/modules/livestatus_b
> roker/livestatus_broker.py", line 1052, in do_main
> >                         response, keepalive = 
> > self.livestatus.handle_request(open_connections[socketid]['buffer'])
> >                       File 
> > "/usr/lib/python2.6/site-packages/shinken/modules/livestatus_b
> roker/livestatus.py", line 129, in handle_request
> >                         request.parse_input(data)
> >                       File 
> > "/usr/lib/python2.6/site-packages/shinken/modules/livestatus_b
> roker/livestatus_request.py", line 96, in parse_input
> >                         query.parse_input('\n'.join(query_cmds))
> >                       File 
> > "/usr/lib/python2.6/site-packages/shinken/modules/livestatus_b
> roker/livestatus_query.py", line 259, in parse_input
> >                         
> self.filter_stack.put(self.make_filter(operator, attribute, > 
> reference))
> >                       File 
> > "/usr/lib/python2.6/site-packages/shinken/modules/livestatus_b
> roker/livestatus_query.py", line 786, in make_filter
> >                         converter = self.find_converter(attribute)
> >                       File 
> > "/usr/lib/python2.6/site-packages/shinken/modules/livestatus_b
> roker/livestatus_query.py", line 102, in find_converter
> >                         out_map = LSout_map[self.out_map_name]
> >                     KeyError: 'hosts'
> > 
> >                      
> > 
> >                     
> > --------------------------------------------------------------
> > ----------------
> >                     The demand for IT networking 
> > professionals continues to grow, and the
> >                     demand for specialized networking 
> > skills is growing even more rapidly.
> >                     Take a complimentary Learning@Cisco 
> > Self-Assessment and learn
> >                     about Cisco certifications, training, 
> > and career opportunities.
> >                     http://p.sf.net/sfu/cisco-dev2dev
> >                     _______________________________________________
> >                     Shinken-devel mailing list
> >                     Shinken-devel@lists.sourceforge.net
> >                     
> > https://lists.sourceforge.net/lists/listinfo/shinken-devel
> > 
> >                     
> >                     
> >                     
> > --------------------------------------------------------------
> > ----------------
> >                     The demand for IT networking 
> > professionals continues to grow, and the
> >                     demand for specialized networking 
> > skills is growing even more rapidly.
> >                     Take a complimentary Learning@Cisco 
> > Self-Assessment and learn
> >                     about Cisco certifications, training, 
> > and career opportunities.
> >                     http://p.sf.net/sfu/cisco-dev2dev
> >                     _______________________________________________
> >                     Shinken-devel mailing list
> >                     Shinken-devel@lists.sourceforge.net
> >                     
> > https://lists.sourceforge.net/lists/listinfo/shinken-devel
> > 
> >                      
> > 
> >                     
> >                     
> > --------------------------------------------------------------
> > ----------------
> >                     The demand for IT networking 
> > professionals continues to grow, and the
> >                     demand for specialized networking 
> > skills is growing even more rapidly.
> >                     Take a complimentary Learning@Cisco 
> > Self-Assessment and learn
> >                     about Cisco certifications, training, 
> > and career opportunities.
> >                     http://p.sf.net/sfu/cisco-dev2dev
> >                     _______________________________________________
> >                     Shinken-devel mailing list
> >                     Shinken-devel@lists.sourceforge.net
> >                     
> > https://lists.sourceforge.net/lists/listinfo/shinken-devel
> > 
> >                      
> > 
> > 
> >                     
> > --------------------------------------------------------------
> > ----------------
> >                     RSA&#174; Conference 2012
> >                     Save $700 by Nov 18
> >                     Register now&#33;
> >                     http://p.sf.net/sfu/rsa-sfdev2dev1
> > 
> >                     _______________________________________________
> >                     Shinken-devel mailing list
> >                     Shinken-devel@lists.sourceforge.net
> >                     
> > https://lists.sourceforge.net/lists/listinfo/shinken-devel
> >                     
> >                     
> > 
> > 
> > 
> > 
> > 
> > __________ Hinweis von ESET NOD32 Antivirus, 
> > Signaturdatenbank-Version 6695 (20111208) __________
> > 
> > 
> > E-Mail wurde geprüft mit ESET NOD32 Antivirus.
> > 
> > 
> > http://www.eset.com
> > 
> > 
>  
> 
> __________ Hinweis von ESET NOD32 Antivirus, 
> Signaturdatenbank-Version 6695
> (20111208) __________
> 
> E-Mail wurde geprüft mit ESET NOD32 Antivirus.
> 
> http://www.eset.com
>  
>  
> 
> __________ Hinweis von ESET NOD32 Antivirus, 
> Signaturdatenbank-Version 6695 (20111208) __________
> 
> E-Mail wurde geprüft mit ESET NOD32 Antivirus.
> 
> http://www.eset.com
>  
> 
 

__________ Hinweis von ESET NOD32 Antivirus, Signaturdatenbank-Version 6695
(20111208) __________

E-Mail wurde geprüft mit ESET NOD32 Antivirus.

http://www.eset.com
 


------------------------------------------------------------------------------
Cloud Services Checklist: Pricing and Packaging Optimization
This white paper is intended to serve as a reference, checklist and point of 
discussion for anyone considering optimizing the pricing and packaging model 
of a cloud services business. Read Now!
http://www.accelacomm.com/jaw/sfnl/114/51491232/
_______________________________________________
Shinken-devel mailing list
Shinken-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/shinken-devel

Reply via email to