Archives For ManageEngine ServiceDesk

ServiceDesk: jespa.log sempre più grande?Ai 22 GB lamentati da un utente della Community non ci sono arrivato, ma una delle nostre installazioni di ServiceDesk Plus ha effettivamente lamentato problemi di spazio disco a causa del file jespa.log che occupava su disco circa 2 GB. Nello stesso disco, forse per un intervento di un collega, esisteva anche un jespa.log.bak da circa 10 GB. Una rapida ricerca sul sito web dello sviluppatore mi permette di capire che quel file traccia informazioni riguardanti il Single Sign-On (confermato dopo averci dato un’occhiata con Notepad++, portando sufficiente pazienza prima che si aprisse). Cosa si fa per evitare che il problema si verifichi ancora in futuro?

Il file, tanto per dormire sonni tranquilli, può essere cancellato senza pensarci su due volte (verrà ricreato automaticamente), l’importante è che ServiceDesk sia temporaneamente chiuso (altrimenti il file risulterà in uso e non eliminabile). Fatta la prima pulizia, è bene intervenire sulla configurazione del prodotto affinché vada a inserire meno informazioni nel file di log.

ServiceDesk: jespa.log sempre più grande? 1

Per farlo, dovrai prima connetterti al database utilizzato (io mi baso su DB Postgres e installazione su disco C:), seguendo le istruzioni riportate in questo documento di Knowledge Base: manageengine.com/products/service-desk/help/adminguide/introduction/setting_up_database.html

cd \ManageEngine\ServiceDesk\pgsql\bin
psql.exe -U postgres -p 65432 servicedesk

e lanciare a questo punto la query:

update jespaconfiguration set jespaconfig_value=2 where jespaconfig_key like '%log%';

come suggerito all’interno delle varie discussioni della community (qualche esempio: desk.zoho.com/portal/manageengine/community/topic/reset-jespa-log-file, oppure desk.zoho.com/portal/manageengine/community/topic/what-is-the-jespa-log-file).

ServiceDesk: jespa.log sempre più grande? 2

La modifica è immediata, riavvia per sicurezza i servizi di ServiceDesk così da far ripartire il software in maniera pulita, la crescita di jespa.log dovrebbe essere ora nettamente più lenta nel tempo (modificato due giorni fa, controllato adesso, fatica ad arrivare ai 40 KB su disco).

Buon lavoro.

Condividi l'articolo con i tuoi contatti:

Stavo facendo regolare manutenzione della macchina di HelpDesk (quella che in ufficio fa girare un’installazione di ServiceDesk Plus, te ne ho già parlato in passato) e mi sono accorto che nel database, la tabella relativa ai log di errore, era cresciuta fino a toccare quota 5,5 GB circa. Dato che con la migrazione a Windows 2012 Server ci siamo portati dietro lo storico di quanto operato fino a quel momento, ho contato nell’errorlog qualcosa come 200.000 eventi e più, circa 6 anni di onorato servizio. Era arrivato il momento di fare un po’ di pulizia.

ServiceDesk: una toolbar personalizzata sempre in vista 1

Per farla breve: utilizzare la GUI in questo caso è impossibile. Gli eventi sono troppi, il software di HelpDesk non è in grado di navigare correttamente tra le tab del log. È quindi consigliato operare direttamente sul database, dopo aver eseguito un backup dello stesso (non si sa mai, fallo senza pensarci due volte e mettiti al sicuro). L’operazione richiederà un rapido fermo dei servizi (immediatamente riavviabili) e non dovrebbe impattare troppo sull’attività dei tecnici e degli utenti, ammesso che il server che ospita l’applicazione abbia sufficiente RAM e CPU a disposizione per tenere a bada i consumi del motore SQL (nel mio caso MySQL) e Java.

Per effettuare una buona pulizia, sono stato anche costretto a un rapido tuning dell’applicativo, andando a modificare alcuni parametri consigliati da Manage Engine. Mettiti “comodo” (si fa per dire) e preparati a fare qualche ritocco sotto al cofano.

Pulizia e Tuning di sistema

Volendo tenere gli ultimi 60 giorni di log e quindi buttare via tutto il resto, sarà necessario dare alla macchina un attimo più di sprint, questo è necessario nel caso in cui quella tabella sia troppo ricca di eventi (puoi vederlo tu stesso con un semplice clic su Community (l’icona del supporto, nelle ultime versioni di ServiceDesk Plus) → System Log Viewer:

Pulizia e Tuning di ServiceDesk Plus

Come detto prima, quel numero “of 2368” superava i 200.000!

Una volta connesso al DB MySQL, l’operazione di pulizia fallirà quasi certamente a causa del buffer InnoDB “troppo stretto“. Puoi controllare tu stesso. Per connetterti al MySQL che sta girando sulla macchina dovrai aprire un prompt dei comandi, quindi andare in C:\ManageEngine\ServiceDesk\mysql\bin, ammesso che tu abbia installato tutto nel disco principale del server (altrimenti sostituisci C:\ con la lettera del drive all’interno del quale si trova ServiceDesk Plus).

Se anche il tuo ServiceDesk Plus utilizza MySQL, continua la lettura delle istruzioni di seguito, in caso contrario dovrai modificare il metodo di collegamento (consulta questa risposta sul forum ufficiale: forums.manageengine.com/topic/how-to-delete-all-log-files#49000007368489):

mysql.exe -u root -P 33366 servicedesk

Una volta connesso, lancia la cancellazione dell’intervallo desiderato (nell’esempio, ho mantenuto 60 giorni di storico, tu puoi ovviamente modificarlo aumentandolo o diminuendolo a piacere), l’istruzione di seguito è valida per MySQL:

delete from errorlog  WHERE DATEDIFF(NOW(),FROM_UNIXTIME(OCCURREDTIME/1000))  >60;

Quasi certamente arriverai a vedere l’errore 1206, causato dall’elevato numero di lock rispetto allo spazio a disposizione in tabella. Per verificare il perché, prova a lanciare uno show global variables like 'innodb_buffer%':

Pulizia e Tuning di ServiceDesk Plus 1

Quel valore (8,388,608 espresso in byte) è basso, è circa l’equivalente di 8MB, non è sufficiente. Per questo motivo sarai costretto a modificare il batch che si occupa di lanciare il motore SQL di ServiceDesk Plus, in base alla RAM a tua disposizione sul server, secondo quanto suggerito nel forum del prodotto: forums.manageengine.com/topic/manage-engine-supportcenter-plus-slowness-and-takes-ages-to-load-the-request-screen. La mia macchina ha più di 4GB di RAM, per questo motivo ho aperto C:\ManageEngine\ServiceDesk\bin\startDB.bat e ho inserito i vari parametri suggeriti:

@start "MySQL" /B "%DB_HOME%\bin\mysqld-nt" --standalone --lower-case-table-names=1 --basedir="%DB_HOME%" --port=%DB_PORT% --datadir="%DB_HOME%\data" --default-character-set=utf8 --set-variable=query-cache-type=2 --read_buffer_size=128K --read_rnd_buffer_size=2M --sort_buffer_size=4M --myisam_sort_buffer_size=8M --key_buffer_size=64M --innodb_buffer_pool_size=750M --bulk_insert_buffer_size=16M --table_cache=1024M --innodb_flush_log_at_trx_commit=0 --low-priority-updates

Stessa sorte toccata al file di configurazione del Wrapper Java, quello che trovi in C:\ManageEngine\ServiceDesk\server\default\conf\wrapper.conf, modificato alla stessa maniera e ritoccato sui due valori suggeriti, da:

# Initial Java Heap Size (in MB)
wrapper.java.initmemory=128

# Maximum Java Heap Size (in MB)
wrapper.java.maxmemory=256

a (nel caso della mia macchina con più di 4GB di RAM, occhio quindi alla tua):

# Initial Java Heap Size (in MB)
wrapper.java.initmemory=256

# Maximum Java Heap Size (in MB)
wrapper.java.maxmemory=1024

A questo punto potrai fermare e avviare nuovamente il tuo ServiceDesk Plus. Così facendo, collegandoti nuovamente al database, dovresti poter notare che il valore di innodb_buffer_pool_size è aumentato fino a toccare la quota richiesta dalla tua modifica nel file batch (startDB):

Pulizia e Tuning di ServiceDesk Plus 2

Ora potrai finalmente lanciare la pulizia, che non dovrebbe più bloccarsi, e che dovrebbe pulire quanto richiesto entro qualche minuto di lavoro al massimo:

Pulizia e Tuning di ServiceDesk Plus 3

Ora finalmente potrai navigare il System Log da interfaccia grafica di ServiceDesk Plus, avrai reso più rapidi i backup da eseguire quando si lancia un upgrade di prodotto e avrai risparmiato un po’ di spazio su disco, il tutto condito da una maggiore velocità di avvio della piattaforma.

Non male, vero? :-)

Condividi l'articolo con i tuoi contatti:

Abbiamo già trattato l’argomento, ci torno sopra perché –dopo gli ultimi aggiornamenti del software di Manage Engine– l’aspetto di ServiceDesk è decisamente cambiato (in meglio) e mi ha fatto nascere una nuova esigenza, in realtà nell’aria già da tempo. Si tratta della possibilità di fare un refresh manuale della pagina.

Nulla di particolare sotto al sole, sia chiaro, giusto un’aggiunta che può tornare utile avere a portata di clic oltre che di tastiera (in quel caso basta un F5). Ho scelto di inserire il nuovo pulsante subito prima del “Close“.

ServiceDesk: una toolbar personalizzata sempre in vista 1

Per lanciare un aggiornamento della pagina ho utilizzato un semplice window.location.reload(), che si integra quindi nel codice di un nuovo pulsante. Per poter far stare tutto su una sola riga, ho aumentato le dimensioni (larghezza) della toolbar, portando il valore a 310 pixel. Nello specifico, questo è il codice del nuovo pulsante:

// REFRESH
'<input type="button" title="Refresh" class="formStylebutton" style="width:auto;height:18" onclick="window.location.reload()" value="Refresh" name="refreshButton"> ' +

Ho rilasciato perciò una nuova versione del CustomScripts.js, disponibile come sempre su Gist, te la propongo qui di seguito per comodità:

Ne approfitto per ricordarti che lo script dovrà essere inserito in [TUOSERVERSDP]\ServiceDesk\custom\scripts, e che forzando un aggiornamento della pagina (del tuo HelpDesk) dovresti notare subito la novità, senza la necessità di riavviare il software.

Per commenti, nuove idee o suggerimenti riguardo possibili miglioramenti del codice attualmente proposto, l’area commenti è a tua totale disposizione!

G

Condividi l'articolo con i tuoi contatti:

Oggi si torna a parlare di ServiceDesk e di un piccolo particolare che non apprezzo particolarmente nelle sue ultime versioni: la toolbar bassa che propone i comandi rapidi per lavorare sui ticket compare esclusivamente se gli stessi superano un certo numero, costringendo il tecnico a uno scroll verso il basso, parlo di questa:

ServiceDesk: una toolbar personalizzata sempre in vista

Ho provato a chiedere lumi al forum della Community, per capire se ci fosse la possibilità di ritoccare qualcosa nella configurazione del software, e permettermi di tenere quella toolbar sempre visibile. Ho ricevuto un due di picche e nello stesso momento un suggerimento davvero ottimo: forums.manageengine.com/topic/show-bottom-toolbar, cito di seguito

Create your own toolbar.
Check:  http://sdpadmins.pl/49/dodajemy-cos-od-siebie-do-sdp-customscripts/#more-49

Te la facilito (il sito web è in polacco e ho usato un Google Translate per fare il lavoro sporco): qualcuno in ManageEngine ha ben pensato di includere la possibilità di richiamare uno script personalizzato (JS) per iniettare live alcune modifiche all’interfaccia principale, secondo necessità degli utilizzatori del prodotto. Cosa vuol dire? Vuol dire che con qualche riga di codice è stato possibile ottenere comunque il risultato sperato, nonostante non sia quello previsto da fabbrica. Ho creato una toolbar personalizzata e con posizione fixed in base alle indicazioni dell’utente che mi ha indicato la retta via.

Un piccolo telecomando di collegamenti rapidi posto in basso a destra nella schermata di ServiceDesk Plus ti permetterà di richiamare le funzioni più utili dello stesso, senza la necessità di avere 50 ticket nella stessa schermata, evitando così i molteplici movimenti e clic di mouse per arrivare allo stesso risultato tramite i pulsanti originali del software. Ho caricato il risultato funzionante su Gist:

Lo script è in grado di riconoscere l’URL attuale e far comparire la barra esclusivamente durante la visualizzazione dei ticket (quella tabellare, WOListView.do), la ricerca (SeachN.do) e la vista tabellare in seguito a chiusura di un ticket (CompleteRequest.do), il tutto sfruttando un semplice array che dietro un ciclo for verificherà ogni volta il contenuto dell’URL visitato nel momento dell’esecuzione dello script.

Un tocco di abbellimento (si fa quel che si può) via CSS, poi una serie di funzioni secondo me fondamentali, riproducendo esattamente ciò che fanno i pulsanti della toolbar proposta da fabbrica: Pick Up del ticket, Merge, Delete e Close. Ho incluso anche l’Edit ma l’ho tenuto commentato, non è il tipo di edit che mi interessa (richiama quello multiplo, non quello del ticket specifico) e probabilmente lo modificherò in futuro, non necessario esclusivamente perché viene già proposto un pulsante di Edit in corrispondenza di ogni singolo ticket riportato in visualizzazione tabellare.

Per poter funzionare, questo codice andrà salvato in un file nominato CustomScripts.js, che dovrà trovarsi nella cartella [TUOSERVERSDP]\ServiceDesk\custom\scripts. Non è necessario riavviare il servizio relativo a ServiceDesk Plus, ti basterà fare un aggiornamento forzato della pagina web visitata in quel momento (CTRL+R o Shift + F5, in base al browser utilizzato).

Come ogni cosa da me realizzata o ritoccata, non è certo priva di errori e può essere sicuramente migliorata. Se hai proposte o critiche, l’area commenti è a tua totale disposizione.

Buon lavoro!

Condividi l'articolo con i tuoi contatti:

ServiceDesk: merge degli utenti doppi (richiedenti) 1Ancora ServiceDesk, ancora blocco appunti che spero possa tornare utile ad altri che mi leggono lì fuori sul web. È passato diverso tempo dalla nostra (nostra come azienda, nda) richiesta al supporto Manage Engine datata settembre 2014. Avevamo appena importato diversi utenti all’interno del nostro HelpDesk (sync da LDAP), che avevano subìto poco prima una migrazione di dominio, creando così dei doppioni nella scheda “Requesters” di SDP, ovvero coloro che tramite mail o auto-compilazione (autenticandosi al software con le credenziali di dominio) possono richiedere aiuto.

SDP non offriva di default la possibilità di effettuare un merge degli utenti presenti nel database e, non volendo mettere mano al database MySQL in maniera diretta, abbiamo richiesto un tool che potesse svolgere il lavoro sporco. Avrei voluto scrivere di quel tool già in passato. È arrivato a distanza di poche settimane, ha funzionato a colpo secco rendendo tutti più felici (così da poter avere uno storico richieste ben ordinato). Quel tool ha smesso di funzionare con le ultime versioni del software. Fortunatamente però è stato rilasciato un aggiornamento di pacchetto di cui si discute in un thread sul forum ufficiale all’indirizzo forums.manageengine.com/topic/merge-requesters-19-11-2015.

Prima di procedere, il solito buon consiglio:

ATTENZIONE: Prima di eseguire qualsiasi modifica ai vostri file e/o dispositivi siete pregati di effettuare un backup di questi (o lavorare in ambiente di test e mai di produzione). Solo così sarete capaci di tornare indietro ponendo rimedio a eventuali errori di distrazione.

E ora riassumo: si scarica il pacchetto 1.6 (solo per versioni superiori alla 8014, calcolate che a oggi si utilizza una 9202 corrispondente alla 9.2 Build 9202) del quale ho caricato una copia su app.box.com/s/nl8b8xfhxt8e2ykm5qch83rd6062bp8u. Lo si scompatta e si caricano le cartelle “applications” e “server” nella cartella di installazione di ServiceDesk (dove già esistono due cartelle con lo stesso nome, nda). Confermate la copia dei file così da poter includere i nuovi file all’interno della vostra installazione.

Quando fatto, riavviate SDP (utilizzate le icone di Stop e Start che l’installazione avrà certamente creato nel menu di Start, nda). Una volta ripartito il servizio, visitate l’indirizzo del vostro HelpDesk da un browser, autenticatevi e –una volta dentro– aggiungete a fine URL un /servlet/DebugServlet, ottenendo quindi un indirizzo del tipo

http://indirizzohelpdesk/servlet/DebugServlet

(o, se utilizzate una porta diversa come la 8080, http://indirizzohelpdesk:8080/servlet/DebugServlet). Dovreste atterrare su una pagina molto simile a questa:

ManageEngine SDP Merge Users

Come spiegato nel forum, questa nuova versione del tool non si basa solo sul campo e-mail per riconoscere gli utenti doppi, ma anche sul loro Username. Vi basterà forzare lo script a utilizzare il metodo di ricerca alternativo aggiungendo all’URL un ?mode=username dopo DebugServlet, ottenendo quindi qualcosa di molto simile a:

http://indirizzohelpdesk/servlet/DebugServlet?mode=username

Da qui in poi fate molta attenzione a ciò che mandate in merge. La modifica sarà subito operativa dal momento in cui selezionerete l’utente interessato dall’operazione e farete clic sul pulsante Submit. Una volta spuntata la casella in corrispondenza dell’utenza da unire, selezionate il radiobox “Parent” per indicare allo script l’utente da mantenere come principale. Ciò che rimane non spuntato verrà unito al principale (non esisterà quindi più nel database). Otterrete così un solo storico per ciascun utente, cosa certamente più gestibile rispetto all’avere chissà quanti utenti identici e ciascuno con il proprio storico di richieste.

Prima di concludere l’articolo, se fate parte di coloro che utilizzano una versione antecedente alla 8014, sappiate che quanto detto sopra non avrà valore, vi servirà la versione 1.5 dello script, la quale non è in grado di filtrare gli Username ma solo il campo e-mail. Ne ho caricato una copia su app.box.com/s/l43oxgggkrwj5nm0r6x8t4r5214n2je3, il metodo di installazione rimane inalterato rispetto a quanto già spiegato.

Fatene buon uso! :-)

Aggiornamento del 26/10/16
Il supporto tecnico di Manage Engine mi ha inviato il nuovo pacchetto del Merge Tool, adatto anche alle ultime versioni del loro prodotto. Come al solito, l’ho caricato su box.com. Stavolta ho deciso di condividere direttamente la cartella, facciamo prima, così che tu possa sempre visitare quella cartella e prelevare l’ultima versione disponibile! La trovi all’indirizzo app.box.com/s/o21ylh1ned9qgvl489dnuzzrkip139qu
Condividi l'articolo con i tuoi contatti: