Logs visualisieren - plain logfile / GUI?

cornelinux

Neuer User
Mitglied seit
19 Feb 2008
Beiträge
33
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich habe ein kleines Asteriskchen laufen.
Ansich will ich ja nur sehen können wann wer wie wo angerufe hat. Im prinzip könnte ich da auch durch ein normales unix-ähnliches logfile greppen.

Doch will dieses /var/log/asterisk/cdr-csv/Master.csv nicht an mich gehen. Da sehe ich nicht viel / nein, da sehe ich nicht, was ich will. OK, ich kann nach meinem context [from-isdn] suchen. Aber in dem File sind definitv zu viele Gänsefüßchen... ;)

Gibt es ein simpleres logfile, in dem ich sehen kann, was in dem Tag, an dem wir wegwaren telefontechnisch passiert ist -

oder ganz andere Richtung, welche GUI würde man hier nehmen? (Wenn es schon kein einfaches Logfile gibt, dann halt ne einfache GUI ;)

Besten Dank
Cornelius
 
Hi,

danke für Deine antwort. Aber das Buch bringt einen an der Stelle nicht wirklich weiter.
Und ich möchte das Logging nicht in den Dialplan reinpopeln, wenn es doch schon in der master.csv exitiert.

Am liebsten wäre mir, asterisk hätte eine Konfigurationseinstellung, die es mir ermöglicht, in eine DB zu loggen. ICh brauch nicht den ganz config-Gui-Krempel. Aber ein Interface, in dem ich durch die abgehenden und ankommenden Anrufe suchen kann, das wäre schön. Das wäre nämlich auch was, was der Enduser haben wollen würde.

Schönen Gruß
Cornelius
 
Wo liegt denn das Problem? Wieso in dialplan reinpopeln?
CDRs in Datenbank schreiben lassen und z.B. mit phpMyAdmin angucken. Das ist doch absoluter Asterisk-Standard...
 
Mit cut lassen sich die einzelnen Felder oder auch nur Teile davon ohne Gaensefuesschen ausgeben.

Zusaetzliche nuetzliche Werkzeuge waeren grep und sed.
 
@Guard-X: So hatte ich das auch gemeint, bzw. Ansehen/Auswerten z.B in OpenOffice. Aber wer lieber popelt... :(
 
Wo liegt denn das Problem? Wieso in dialplan reinpopeln?
CDRs in Datenbank schreiben lassen und z.B. mit phpMyAdmin angucken. Das ist doch absoluter Asterisk-Standard...

Naja, der Hinweise mit dem asterisk-buch führt auf die asteriskDB, bei der das Buch beschreibt, wie ich innerhalb des Dialplans Werte in die BerkleyDB schreiben kann.

Ja, ich habe gestern abend nach langem suchen auch gefunden, dass es die asterisk addons gibt, die dieses cdr mysql enthalten. Du hast vollkommen recht, das ist absoluter Standard, den ich aber lange suchen musste und offensichtlich nicht toll dokumentiert zu sein scheint. Daher meine Frage.

Schönen Gruß
Cornelius
 
Falls Bedarf besteht. Ich habe mir ein PHP-Skript geschrieben, was die Master.csv per RegEx zerlegt und so die einzelnen Felder ausliesst. Ich hänge den entsprechenden Code mal unten an. Ist nicht wirklich schön, aber erfüllt seinen Zweck. Basiert auf einer PHP-Klasse die ich irgendwo mal gefunden habe und dann umgebaut habe. In dieser Form funktioniert sie nur mit der cdr-csv-Master.csv nicht mit der cdr-custom. Eventuell muss auch das Pattern für den Context angepasst werden (4. Ausdruck). Bei mir bestehen die Kontexte nur aus Kleinbuchstaben.

Gruß hotroot

Code:
<?php
class ASTERISK {

	// Globale Variablen
	public $callDataCSV          = 'PFAD_ZUR_DATEI/Master.csv';                // aus dieser Datei werden die Anrufdaten gelesen (Symlink vom Asterisk Order)
	public $callDataArrayKeys    = array(                                                                                    // Spaltenbezeichnungen- und bedeutungen innherhalb der CSV-Datei
		'accountcode',        // What account number to use: account, (string, 20 characters) 
		'src',                // Caller*ID number (string, 80 characters) 
		'dst',                // Destination extension (string, 80 characters) 
		'dcontext',            // Destination context (string, 80 characters) 
		'clid',                // Caller*ID with text (80 characters) 
		'channel',            // Channel used (80 characters) 
		'dstchannel',        // Destination channel if appropriate (80 characters) 
		'lastapp',            // Last application if appropriate (80 characters) 
		'lastdata',            // Last application data (arguments) (80 characters) 
		'start',            // Start of call (date/time) 
		'answer',            // Anwer of call (date/time) 
		'end',                // End of call (date/time) 
		'duration',            // Total time in system, in seconds (integer) 
		'billsec',            // Total time call is up, in seconds (integer) 
		'disposition',        // What happened to the call: ANSWERED, NO ANSWER, BUSY, FAILED 
		'amaflags');        // What flags to use: see amaflags::DOCUMENTATION, BILL, IGNORE etc, specified on a per channel basis like accountcode. 
		
	// Konstruktor 
	function ASTERISK() { 
	}


	function parseCallDetailCSV2Array()
	{
		//CSV-Datei auslesen
		$callData = file($this->callDataCSV);

		for($j=0;$j<sizeof($callData);$j++)
		{
			//Eventuelle Leerzeilen ignorieren
			while(trim($callData[$j])=="")
			{
				if($j<sizeof($callData))
					$j++;
				else 
					return $callDataAssoziationArray;
			}
			$pattern = '/"(.*)","(.*)","(.*)","([a-z]+)","(.*)","([a-zA-Z0-9-\/]+)","(.*)","([a-zA-Z ]+)","(.*)","([0-9-: ]+)","(.*)","([0-9-: ]+)",([0-9]+),([0-9]+),"([A-Z ]+)","([A-Z ]+)"/';
			if(preg_match($pattern, $callData[$j], $matches))
			{
				$tmpCallDataArray = array();
				for($i=0;$i<sizeof($this->callDataArrayKeys);$i++)
				{
					$tmpCallDataArray[$this->callDataArrayKeys[$i]] = trim(str_replace("\"","",$matches[$i+1]));
				}
				$callDataAssoziationArray[] = $tmpCallDataArray;
			}
		}

		return $callDataAssoziationArray;
	}
	
} 
?>
 
Ich grabe das Thema mal aus.

Gibt es da was neues? Am liebsten wäre mir irgendso ein Ding, dass ich mich in Apache einloggen kann und dass dort einfach das dargestellt wird, was der Threadersteller schon geschrieben hat.

Alternativ wäre ich auch mit einer exe-Datei vollkommen zufrieden, die das alles möglichst einfach darstellt.
 

Statistik des Forums

Themen
244,695
Beiträge
2,216,692
Mitglieder
371,315
Neuestes Mitglied
jack-mack
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.