OpQL

De ISPWiki.

Sommaire

Fonctionnalités

OpQL est un langage-micro à gérer oProxy. La syntaxe simule SQL.

Syntaxe de programme

Le programme contient des requêtes séparant par point-virgule (non-obligatoire après la dernière requête).

Commandes

stop daemon

La requête stop daemon stoppe le processus oProxy.

show workers

Cette requête affiche le statut de tous les processus.

show nodes http

La requête reçoit le statut des noeuds backend de HTTP.

show nodes mysql

La requête reçoit le statut des noeuds backend de MySQL.

show traffic http

Recevoir le trafic en fonction des hosts-HTTP qui n'a pas été déjà envoyé dans les logs.

show traffic mysql

Recevoir le trafic en fonction des utilisateurs-MySQL qui n'a pas été déjà envoyé dans les logs.

reset traffic

Remettre au zéro le trafic.

set param "value"

Veuillez spécifier la valeur du fichier de configuration "Param" dans la valeur "value" sans le redémarrage du serveur-proxy. Par exemple: si vous souhaitez changer la valeur de la temporisation KeepAlive dans HTTP:

set keepalive_http "1.5"

start SAVE_QUERY

Veuillez commencer à enregistrer l'information sur les requêtes à HTTP/MySQL dans le log fichier indiqué (voir. syntaxe SAVE_QUERY).

Les requêtes sous cette condition seront enregistrées dans le log fichier indiqué. C'est utile pour le débogage du chargement du site approprié ou de l'utilisateur-MySQL.

stop SAVE_QUERY

Stopper enregistrer l'information sur les requêtes appropriées (voir. syntaxe SAVE_QUERY). La requête indiquée sera supprimée de la liste.

show queries

La requête affcihe la liste de requêtes activées de SAVE_QUERY.

Syntaxe SAVE_QUERY

SAVE_QUERY := NOMBRE_DE_CHAMPS from <http|mysql> [where CONDITION] into file NOM_DE_FICHIER

LISTE_DE_CHAMPS := EXPRESSION [, LISTE_DE_CHAMPS]

EXPRESSION :=
   EXPRESSION 	 OPERANDE D'OPERATION EXPRESSION
    | ( EXPRESSION )
    | FONCTION ( LISTE_D_'_ARGUMENTS )
    | CHAMP
    | CHIFFRE
    | LIGNE

OPERANDE D'OPERATION := + | - | * | /

CHAMP := current_time | time | received | sent | host | uri | user | query

CONDITION :=
    CONDITION OPERANDE_D_'_OPERATION_LOGIQUE CONDITION
    | ( CONDITION )
    | not CONDITION
    |  EXPRESSION

OPERANDE_D_'_OPERATION_LOGIQUE := > | < | = | >= | <= | <> | !=

NOM_DE_FICHIER := LIGNE

LIGNE := " ligne " | ' ligne '

NOMBRE :=
    chiffres
    | chiffres . chiffres
    | . chiffres
    | chiffres .

FONCTION := ligne

LISTE_D_'_ARGUMENTS := EXPRESSION [, EXPRESSION]

Information sur le champ

oProxy reçoit les données de la requête.

current_time
le temps local courant - quand la requête arrête d'exécuter
time
le temps en secondes qui a passé entre l'envoi de la requête-backend et le début de la réception des données (temps de requête)
received
le nombre de bytes du client
sent
le nombre de client au client
host
le nom de site requêté. Il est applicable seulement pour les requêtes "from http"
uri
l'adresse url requêtée. Il est applicable seulement pour les requêtes "from http"
user
le nom d'utilisateur-MySQL identifié. Il est applicable seulement pour les requêtes "from mysql"
query
le premier nombre de bytes de la requête-MySQL (N ne dépasse pas de valeur du fichier de configuration max_mysql_query_length_save). Il est applicable seulement pour les requêtes "from mysql"

Fonctions disponibles

concat (séparateur, argument1, argument2, ...)

Cela intégre tous les arguments dans la ligne en installant le séparateur entre ces éléments.

replace (expression régulière, remplacement, ligne)

Cela remplace toutes les sous-lignes <ligne> coïncidentes dans l'expression régulière <expression régulière> par <remplacement>.

Exempels

  • Recevoir l'information sur les travailleurs:
show workers
  • Recevoir l'information sur les travailleurs et puis arrêter oProxy:
show workers; stop daemon
  • Commencer à enregistrer l'adresse-url requêtée et le temps de réponse dans la fichier /tmp/test.com:
start save uri, time from http into file '/tmp/test.com'
  • Commencer à enregistrer l'adresse-url requêtée et le temps de réponse en minutes dans le fichier /tmp/test.com:
start save uri, time/60 from http into file '/tmp/test.com'
  • Commencer à enregistrer le temps courant, le nombre de bytes envoyés et la requête-MySQL dans le fichier /tmp/root si le temps est supérieur à un seconde:
start save current_time, sent, query from mysql where time > 1 into file "/tmp/root"
  • Commencer à enregistrer les requêtes-MySQL durant plus que 10 heures et le nom d'utilisateur-MySQL qui n'est pas de root dans le fichier /tmp/not_root:
start save query from mysql where (time > 10*3600 and user!="root") or sent<100 into file '/tmp/not_root'
  • Ajouter la requête "save uri, time from http into file '/tmp/test.com'" et supprimer "save uri, time/60 from http into file '/tmp/test.com'":
start save uri, time from http into file '/tmp/test.com'; stop save uri, time/60 from http into file '/tmp/test.com'
Cet article vous a-t-il été utile? Oui | Non
Affichages
Outils personnels