HttpLogger (logger)

De Wiki1000
(Différences entre les versions)
 
(2 révisions intermédiaires par un utilisateur sont masquées)
Ligne 1 : Ligne 1 :
 
Un logger http permet de transmettre des messages à un service externe via des requêtes HTTP.
 
Un logger http permet de transmettre des messages à un service externe via des requêtes HTTP.
 +
 +
'''Paramètres communs :'''
 +
 +
{{:Paramètres (logger)}}
 +
 +
'''Paramètres spécifiques :'''
  
 
{|class="wikitable"
 
{|class="wikitable"
Ligne 38 : Ligne 44 :
 
|oui
 
|oui
 
|Défaut:Mozilla/5.0 ([systemOSInfo]; [systemOSLanguage]) [platformInfo]/[platformVersion] [productInfo]/[productVersion]
 
|Défaut:Mozilla/5.0 ([systemOSInfo]; [systemOSLanguage]) [platformInfo]/[platformVersion] [productInfo]/[productVersion]
|-
 
|content
 
|oui
 
|Contenu du message
 
|-
 
|categories
 
|non
 
|Liste des catégories gérées par le logger
 
 
|}
 
|}
  
Ligne 54 : Ligne 52 :
 
Exemple :
 
Exemple :
  
 +
'''LOGGLY:'''
 
<pre>
 
<pre>
 
[\SOFTWARE\Sage\Ligne 1000\Administration\LOGManager\LOGGLY]
 
[\SOFTWARE\Sage\Ligne 1000\Administration\LOGManager\LOGGLY]
Ligne 63 : Ligne 62 :
 
headers = X-LOGGLY-TAG=[Service],[EventType],[Category]
 
headers = X-LOGGLY-TAG=[Service],[EventType],[Category]
 
content = [timestamp],[host],[port],[service],[level],[message],[EventType],[Category],[TenantID],[OrganizationName]
 
content = [timestamp],[host],[port],[service],[level],[message],[EventType],[Category],[TenantID],[OrganizationName]
 +
</pre>
 +
 +
'''Elastic Search:'''
 +
<pre>
 +
[\SOFTWARE\Sage\Ligne 1000\Administration\LOGManager\ELASTICSEARCH]
 +
type = http
 +
keep-alive = 1
 +
url = https://mycloudes.cloudapp.net/server/[Category]/[id]?timestamp=[timestamp]
 +
method = PUT
 +
contentType = application/json
 +
accept = application/json
 +
content = [timestamp],[host],[port],[service],[level],[message],[EventType],[Category],[TenantID],[OrganizationName],[UserName]
 +
</pre>
 +
 +
'''SPLUNKSTORM:'''
 +
<pre>
 +
[\SOFTWARE\Sage\Ligne 1000\Administration\LOGManager\SPLUNKSTORM]
 +
type = http
 +
keep-alive = 1
 +
url = https://x:X65k9VuIG4P3YMnYs8Xb5eisj7DH-eFsTndQvIixIvfUzcz9VxiUc11h0mumlzaf-XXXXXXXXX=@api.XXXXXX.data.splunkstorm.com/1/inputs/http?index=96cb75e2406b11e381f1123139097a14&sourcetype=sage1000
 +
method = POST
 +
contentType = application/x-www-form-urlencoded
 +
accept = application/json
 +
content = [timestamp],[host],[port],[service],[level],[message],[EventType],[Category],[TenantID],[OrganizationName]
 +
</pre>
 +
 +
'''GA:'''
 +
<pre>
 +
[\SOFTWARE\Sage\Ligne 1000\Administration\LOGManager\GA_HIT]
 +
type=http
 +
url=http://www.google-analytics.com/collect
 +
method=POST
 +
contentType=application/x-www-form-urlencoded
 +
accept=application/text
 +
keep-alive=0
 +
categories=hit');
 +
content=t=pageview&v=1&tid=[gaUA]&cid=[DeviceID]&cd1=[CustomerID]&cd2=[appName]-[appVersion]&cd3=[id]&cd4=[UserID]& \
 +
        dp=/[actionName]&dl=[hostURL]/[actionParams]&dr=[hostURL][actionReferrer]&cg1=[actionGroup1]&cg2=[actionGroup2]&cg3=[actionGroup3]& \
 +
        dt=[actionTitle]&sd=[systemColors]&sr=[systemScreen]
 
</pre>
 
</pre>
  
 
[[Category:Logger]]
 
[[Category:Logger]]
 
[[Category:Serveur]]
 
[[Category:Serveur]]
[[Category:Latest]]
+
[[Category:Version700]]

Version actuelle en date du 10 avril 2015 à 12:49

Un logger http permet de transmettre des messages à un service externe via des requêtes HTTP.

Paramètres communs :

Les loggers peuvent être paramétrés pour filter les évènements pris en compte :

Propriété Paramétrage Usage
content oui Contenu du message
contentFile non Le contenu du message est contenu dans un fichier
encodeType non Le format d'encodage du message
  • form
  • json
  • text
categories non Liste des catégories gérées par le logger
eventTypes non Liste des type d'évènements gérées par le logger
eventFilter non Une expression pour filter les évènements
openChar non Le caractère de début de substitution
closeChar non Le caractère de fin de substitution

Encodage du message

Si encodeType n'est pas défini la valeur peut être défini par le contentType :

ContentType EncodeType
application/json json
application/x-www-form-urlencoded form

La structure du message généré dépend du paramètres encodeType :

EncodeType Remarque Content Message
json [host],[port],[service] {"host":"hostname","port":443,"service":"GCF"}
json content commence par { {"hostName":[host],"httpPort":[port],"serviceName":[service]} {"hostName":"hostname","httpPort":443,"serviceName":"GCF"}
text Un message texte du service [service] sur le serveur [host].[port] Un message texte du servie GCF sur le serveur hostname.443
text (*) [jsonPerfs] {"status":"up","since":"xxxx", .....}
form [host][port][service] host=hostname&port=443&service=GCF
form content contient = hostName=[host]&httpPort=[port]&serviceName=[service] hostName=hostname&httpPort=443&serviceName=GCF

(*) jsonPerfs est une variable spéciale qui retourne une structure json de tous les compteurs de performances.

Paramètres du message

Les parammètres du message peuvent être définie ainsi:

  [nom]
  [nom:cible]
  [nom!default]
  [nom!default:cible]
  • nom
Nom du paramètre
  • cible
Nom du paramètre écrit dans le message
  • default
Valeur par défaut si le paramètre est absent.

Compteurs de performances

Les compteurs de performances peuvent être inclus soit individuellement comme les autres paramètres soit en blocs par des paramètres spéciaux :

Paramètre Contenu
jsonPers Tous les compteurs
jsonPerfStatus Tous les compteurs d'état
jsonPerfHits Tous les compteurs de taux

Ces paramètres retourne une structure json sous la forme {p1:v1,....pn:vn}

suivant le type d'encodage :

encodeType content message
text [jsonPerfs] {p1:v1,....pn:vn}
json [P],[jsonPerfs:perfs] {P:V,perfs:{p1;v1,...pn;vn}}
json [P],[@jsonPerfs] {P:V,p1;v1,...pn;vn}

Le préfix @ devant le paramètre permet d'inclure la structure


Exemple :

[\SOFTWARE\Sage\Ligne 1000\Administration\LOGManager\ES_EVENTS]
type = http
keep-alive = 1
url = http://elastic_hostname0/sage1000-[DayStamp]/event/[id]?timestamp=[timestamp]
method = PUT
contentType = application/json
accept = application/json
categories=service,automate,bp,authenticate,hit
eventTypes=audit_success,audit_failure
content = [NodeId],[timestamp],[host],[port],[service],[ResourceGroupName],[Message],[EventType],[Category],[TenantID],[OrganizationName],[UserName],[auditAction]

Dans cet exemple le logger ne prend en compte que les évènements des catégories service, automate, business process, et page hit et que les évènements de type audit_success et ausit_failure.

Paramètres spécifiques :

Propriété Paramétrage Usage
type non http
url oui
method non défaut:POST
contentType non défaut:application/text ; valeurs:application/text; application/json; application/x-www-form-urlencoded
accept non défaut:application/text;
headers oui Custom headers de la requête
keep-alive non défaut:0 ; valeurs:0,1
user-agent oui Défaut:Mozilla/5.0 ([systemOSInfo]; [systemOSLanguage]) [platformInfo]/[platformVersion] [productInfo]/[productVersion]

Remarques :

  • Vous devez paramétrer le proxy si nécessaire.
  • Le format du message est conditionné par le paramètre contentType.

Exemple :

LOGGLY:

[\SOFTWARE\Sage\Ligne 1000\Administration\LOGManager\LOGGLY]
type = http
url = http://logs-01.loggly.com/inputs/40154792-94ba-45d9-87a9-xxxxxxxxx/
method = POST
contentType = application/x-www-form-urlencoded
accept = application/json
headers = X-LOGGLY-TAG=[Service],[EventType],[Category]
content = [timestamp],[host],[port],[service],[level],[message],[EventType],[Category],[TenantID],[OrganizationName]

Elastic Search:

[\SOFTWARE\Sage\Ligne 1000\Administration\LOGManager\ELASTICSEARCH]
type = http
keep-alive = 1
url = https://mycloudes.cloudapp.net/server/[Category]/[id]?timestamp=[timestamp]
method = PUT
contentType = application/json
accept = application/json
content = [timestamp],[host],[port],[service],[level],[message],[EventType],[Category],[TenantID],[OrganizationName],[UserName]

SPLUNKSTORM:

[\SOFTWARE\Sage\Ligne 1000\Administration\LOGManager\SPLUNKSTORM]
type = http
keep-alive = 1
url = https://x:X65k9VuIG4P3YMnYs8Xb5eisj7DH-eFsTndQvIixIvfUzcz9VxiUc11h0mumlzaf-XXXXXXXXX=@api.XXXXXX.data.splunkstorm.com/1/inputs/http?index=96cb75e2406b11e381f1123139097a14&sourcetype=sage1000
method = POST
contentType = application/x-www-form-urlencoded
accept = application/json
content = [timestamp],[host],[port],[service],[level],[message],[EventType],[Category],[TenantID],[OrganizationName]

GA:

[\SOFTWARE\Sage\Ligne 1000\Administration\LOGManager\GA_HIT]
type=http
url=http://www.google-analytics.com/collect
method=POST
contentType=application/x-www-form-urlencoded
accept=application/text
keep-alive=0
categories=hit');
content=t=pageview&v=1&tid=[gaUA]&cid=[DeviceID]&cd1=[CustomerID]&cd2=[appName]-[appVersion]&cd3=[id]&cd4=[UserID]& \
        dp=/[actionName]&dl=[hostURL]/[actionParams]&dr=[hostURL][actionReferrer]&cg1=[actionGroup1]&cg2=[actionGroup2]&cg3=[actionGroup3]& \
        dt=[actionTitle]&sd=[systemColors]&sr=[systemScreen]
Outils personnels