- Viestien seurantalokien mahdolliset käyttökohteet
- Viestien seurantalokien sijainti ja rakenne
- Viestien seurantalokien konfigurointi
- Mitä viestien seurantalokeissa on
- Hankintalokien käyttäminen
- Hankintalokien käyttäminen
- .MessageTrackingLog cmdlet
Viestiseurantalokit ovat arvokas tietolähde jokaiselle Exchange-ylläpitäjälle. Vaikka Office 365:ssä on viestinseuranta, joka toimii hienosti, toimitiloissa oleva Exchange tallentaa lokeihin paljon enemmän tietoa, joka voi palvella monia tarkoituksia.
- Viestinseurantalokien mahdolliset käyttötarkoitukset
- Viestien seurantalokien sijainti ja rakenne
- Viestiseurannan määrittäminen
- Mitä viestinseurantalokeissa on
- Viestiseurantalokien tärkeimmät kentät
- Get-MessageTrackingLog-senttimerkin käyttäminen
- How to get general information on mail flow in Exchange Server
- How to gather statistics using Get-MessageTracking Log
- Kohtaisten viestien jäljittäminen Get-MessageTrackingLogin avulla
Viestinseurantalokien mahdolliset käyttötarkoitukset
Hyvät vanhat viestinseurantalokit voivat palvella monia eri tarkoituksia:
- Lähetysongelmien ratkaiseminen – Jos tiedät, mitä etsit, viestien seurantalokit voivat kertoa, miksi viestiä ei toimitettu, jos sen toimitus viivästyi ja paljon muuta (katso, mitä viestien seurantalokit sisältävät)
- Tilastot – Viestien seurantalokit säilyttävät jäljen jokaisesta yksittäisestä palvelimesi kautta kulkeneesta viestistä. On melko helppo tapa saada joitakin tietoja analysoitavaksi – kuinka monta viestiä käsiteltiin tai kuka lähetti eniten viestejä yrityksessä.
- Forensics – Sanotaan, että joku poistaa sähköpostiviestin eikä sinulla ollut sähköpostin varmuuskopiota. Mikä pahempaa, sähköposti sisälsi luottamuksellista tietoa ja se lähetettiin kilpailevalle yrityksellesi. Tässä tilanteessa viestien seurantalokit voivat pelastaa sinut antamalla arvokasta tietoa sähköposteista.
- Laitostelu – Samanlainen tilanne kuin edellä. Viestien seurantalokeja voidaan käyttää ja käytetään usein silloin, kun tarvitaan todisteita oikeudenkäyntejä varten.
- Kuljetussääntöjen testaaminen – Erityisen hyödyllistä, kun organisaatiossasi on määritetty useita kuljetussääntöjä. Aina kun kuljetussääntöä sovelletaan, se jättää jäljen, ja voit käyttää Get-MessageTrackingLogia nähdäksesi, milloin kuljetussääntö tai DLP-käytäntö käynnistettiin.
Viestien seurantalokien sijainti ja rakenne
Mitä ovat viestien seurantalokit? Viestien seurantalokit ovat yksinkertaisia CSV-tiedostoja (LOG-päätteellä), jotka on tallennettu Exchange-palvelimelle. Niiden fyysisen sijainnin oletuspolku on %ExchangeInstallPath%TransportRoles\Logs\MessageTracking. Lokeilla on tietty nimeämiskäytäntö. Muista, että vaikka voit muuttaa lokien tiedostojen nimiä, se estää niiden etsimisen Get-MessageTrackingLog-cmdletillä. Lisäksi muutetuilla nimillä varustettuja tiedostoja ei lasketa kansion kokorajoitukseen. Tämä voi johtaa määrittelemiesi rajoitusten ylittymiseen.
Palvelimille tallennetun tilan ja tietomäärän hallitsemiseksi Exchange käyttää ympyrälokitusta. Toisin sanoen vanhimmat tiedostot ylikirjoitetaan aina, kun kansion enimmäiskoko ylittyy tai lokitiedosto saavuttaa enimmäisikänsä. Jos noudatat oletusasetuksia, lokitiedoston enimmäisikä on 30 päivää ja yksittäisen tiedoston enimmäiskoko on 10 Mt. Oletusarvoisesti kaikki oletushakemistossa olevat viestiseurantalokit eivät voi ylittää 1 GB:tä. Voit muuttaa kaikkia näitä rajoituksia PowerShellin avulla (katso lisätietoja kohdasta Viestiseurannan määrittäminen)
Joka päivä luodaan uusi viestiseurantalokitiedosto. Nimeämiskäytäntö on:
MSGTRKServiceyyyymmdd-nnnn.log missä:
- Palvelu riippuu siitä, mikä palvelu loi lokin. MSGTRK viittaa kuljetuspalvelun luomiin lokitietoihin; lisäkirjaimet määrittävät, mitkä muut palvelut ovat luoneet lokin. MA tarkoittaa Message Approval (viestien hyväksyntä), MD Mailbox Transport Delivery (postilaatikon kuljetuspalvelu) ja MS Mailbox Transport Submission (postilaatikon kuljetuslähetyspalvelu).
- vvvvvkkkk määrittää päivämäärän, jolloin viestiloki on luotu.
- nnnn on lokitiedoston numero. Aina kun lokitiedosto saavuttaa enimmäiskokorajansa, luodaan seuraava kopio. Arvo on inkrementaalinen, ja joka päivä se alkaa (varsin loogisesti) arvosta 1.
Olen maininnut joitakin oletusarvoja. Kuten arvata saattaa, näitä arvoja voi helposti muuttaa.
Viestiseurannan määrittäminen
Voit ennen kuin alat muuttaa viestiseurantalokien oletusarvoja, varmista, että tiedät, mitä olet tekemässä. Viestiseurantalokeista voi tulla kooltaan melko hankalia. Lisäksi, jos päätät kerätä tietoja määräämättömän ajanjakson ajan, jokainen laajamittainen haku viestiseurantalokeista vie huomattavan paljon aikaa. Varsinkin jos et rajoita hakukriteerejäsi. Jos aiot kerätä tietoja postivirrasta määräämättömän ajanjakson ajan, harkitse viestiseurantalokien sisällön viemistä tiedostoihin. Silloin voit tallentaa tietoja kaikista sähköpostiviesteistä lukuun ottamatta niitä, jotka osoittavat esimerkiksi Terveyspostilaatikoihin.
Viestien seurantalokit voi määrittää Set-TransportService-cmdletillä. Tämän cmdletin avulla voit:
- Ottaa viestien seurannan käyttöön tai poistaa sen käytöstä,
- Muuttaa viestien seurannan lokien tallennuspaikkaa,
- Muuttaa viestien seurannan lokien koko- ja ikärajoja
- Ja ottaa aihekohtaisen lokituksen käyttöön tai poistaa sen käytöstä. Selityksen sana: oletusarvoisesti viestien seurantalokit eivät tallenna sähköpostiviestien sisältöä lukuun ottamatta otsikkoriviä. Vaikka viestien otsikkorivin näkyminen lokissa parantaa huomattavasti seurantakokemusta, jotkin organisaatiot vaativat tämän ominaisuuden poistamista käytöstä tietoturva- tai tietosuojasyistä.
Tässä on esimerkki, jossa kaikki parametrit muutetaan kerralla:
Set-TransportService Mailbox_Server -MessageTrackingLogEnabled $true -MessageTrackingLogPath "M:\logs" -MessageTrackingLogMaxFileSize 30MB -MessageTrackingLogMaxDirectorySize 2.5GB -MessageTrackingLogMaxAge 365.00:00:00
Ylläoleva cmdlet ottaa viestien seurannan käyttöön Postilaatikko_Palvelimessa (Mailbox_Server)-palvelimessa (Mailbox_Server), ja se asettaa lokien tallennuspaikaksi M:\logs. Yhden lokitiedoston kokorajaksi muutetaan 30 Mt. Kyseessä on lähinnä kosmeettinen muutos, jolla ohjataan lokitiedostojen määrää – mitä suurempi raja, sitä vähemmän csv-tiedostoja luodaan päivittäin. Hakemiston enimmäiskoko (ennen vanhimpien tiedostojen ylikirjoittamista) on 2,5 Gt, ja lokitiedostoja säilytetään 365 päivää. Asettamalla -MessageTrackingLogMaxAge arvoksi 00:00:00 voit säilyttää viestiseurantalokit määräämättömän ajan. Tai ainakin ennen kuin hakemiston koko saavutetaan. Mutta kenen tarvitsee säästää tilaa Exchangeissa, vai mitä?
Mitä viestinseurantalokeissa on
On muutama asia, jotka sinun on tiedettävä siitä, miten viestinseurantalokit tallentavat merkintöjään.
- Jokainen viesti tuottaa yleensä useamman kuin yhden merkinnän viestinseurantalokiin.
- Lokeissa olevat otsikot eivät ole samoja kuin niitä vastaavat PowerShellin attribuutit. Esimerkiksi Event-id lokitiedostoissa on EventId PowerShellissä. Recipient-address lokitiedostoissa vastaa recipients PowerShellissä. Kun olet epävarma siitä, miten etsiä tietyn attribuutin avulla, käytä
Get-MessageTrackingLog –ResultSize 1 | FL * or Get-MessageTrackingLog | Get-Member
. Nämä cmdletit antavat täydellisen luettelon attribuuteista. - Jotkut kentät ovat usein tyhjiä viestiseurantalokeissa. Jotkin kentät eivät ehkä sisällä tietoja, joita voit pitää tärkeinä tai merkityksellisinä.
Viestiseurantalokien tärkeimmät kentät
- Sender, Recipient, MessageSubject – melko itsestään selvä, kertoo kuka lähetti viestin kenelle ja mikä oli viestin aihe
- TotalBytes – kertoo viestin koon
- Timestamp – antaa tietoa tapahtuman ajankohdasta
- EventID – yksi viestiseurantalokien tärkeimmistä kentistä. Se on ensisijainen tietolähde siitä, mitä viestille tapahtui. Yleisimmät arvot ovat Receive (vastaanotto), Send (lähetys), Submit (lähetys) ja Fail (epäonnistuminen) (Tässä Microsoftin dokumentaatiossa kuvataan kaikki viestin tapahtumatyypit.)
- MessageInfo ja RecipientStatus (vastaanottajan tila) antavat yksityiskohtaista tietoa siitä, mitä viestille on tapahtunut.
- MessageLatency (viestin viipymä) kertoo, kuinka paljon aikaa palvelin tarvitsi sähköpostiviestin käsittelyyn.
Tärkeintä on, miten PowerShellin avulla saat lokitiedoista oikeat tiedot.
Get-MessageTrackingLog-senttimerkin käyttäminen
Get-MessageTrackingLog-senttimerkin avulla voit hakea kaikki viestien seurantalokit. Jos käytät cmdletiä ilman lisäattribuutteja, se palauttaa enintään 1000 merkintää, joista suurin osa liittyy todennäköisesti Health Mailboxes -toimintoon. Jos haluat sisällyttää yli 1000 merkintää yhdellä Get-MessageTrackingLog-komentokomennolla, lisää -ResultSize unlimited -attribuutti. Olen kuitenkin melko varma, ettet aio käyttää komentoa Health Mailboxes -toiminnan seurantaan. Oikea suodatus on avain onnistumiseen. Seuraavassa esittelen muutamia tekniikoita, joita voit käyttää tulosten suodattamiseen.
How to get general information on mail flow in Exchange Server
Jos tarkoituksenasi on saada hyvin yleinen kuva organisaatiosi viimeaikaisesta sähköpostivirrasta, käytä alla kuvattua syntaksia:
Get-MessageTrackingLog -Start (Get-Date).AddDays(-14) -ResultSize Unlimited | Where -Property Recipients -NotLike "*HealthMailbox*" | ConvertTo-Html > "C:\mtl.html"
Oheinen cmdlet käy läpi viimeisten 14 päivän viestien seurantalokit. Saatat ihmetellä, miksi käyttää Where-Object -Property Recipients -NotLike ”HealthMailbox*” -osaa. Tämä suodatin poistaa kaikki Health-postilaatikoille omistetut merkinnät. Jos olet utelias, voit vertailla tuloksia Where-Object-suodattimen kanssa ja ilman sitä. Lopuksi putken viimeinen komento vie tulokset mtl.html-tiedostoon. Voit myös viedä tulokset CSV-tiedostoon käyttämällä ConvertTo-Csv-cmdlettiä.
Ongelmana on, että kun tulokset muunnetaan HTML- tai CSV-tiedostoon, vastaanottajatietoja sisältäviä kenttiä ei näytetä oikein. Oikeiden arvojen sijasta kentät sisältävät System.String-ilmaisuja. Tämän korjaamiseksi sinun on ehkä johdotettava tulokset ylimääräiseen Select-Object-cmdletiin. Miksi et samalla rajoittaisi tulostetta niin, että se sisältää vain tärkeimmät kentät?
Get-MessageTrackingLog -Start (Get-Date).AddDays(-7) -ResultSize Unlimited | Where -Property Recipients -NotLike "*HealthMailbox*" | Select-Object sender,@{Name="Recipients";Expression={$_.recipients}},@{Name="RecipientStatus";Expression={$_.recipientstatus}},messagesubject,totalbytes,eventid,messageinfo,messagelatency | ConvertTo-Html > "C:\mtlx.html"
Jos haluat rekisteröidä kaikki epäonnistuneet toimitukset ja rekisteröidä ne tiedostoon, käytä alla olevaa cmdletiä.
Get-MessageTrackingLog -Start (Get-Date).AddHours(-24) -ResultSize Unlimited –EventId Fail | Where -Property Recipients -NotLike "HealthMailbox*" >> "C:\failed deliveries.csv"
Parasta on se, että >>-merkki lisää uudet arvot failed.deliveries.csv-tiedostoon, joten voit suorittaa cmdletin määräajoin kaikkien epäonnistuneiden tapahtumien kirjaamiseksi lokiin.
How to gather statistics using Get-MessageTracking Log
Jos haluat suorittaa monimutkaisempia operaatioita viestinseurantalokin operaatioille, tallenna ne muuttujaan.
$mtl Get-MessageTrackingLog -Start (Get-Date).AddDays(-2) –eventId Send -ResultSize Unlimited | Where -Property Recipients -NotLike "*HealthMailbox*"
Ylläoleva cmdlet tallettaa tiedot kaikista viimeisten kahden päivän aikana lähetetyistä viesteistä. Jos haluat mitata, kuinka monta sähköpostia käyttäjät ovat yleensä lähettäneet, kirjoita yksinkertaisesti:
$mtl | measure
Jos haluat yksityiskohtaisempia tietoja, voit ryhmitellä, lajitella ja näyttää tulokset joidenkin lisäkomentojen avulla. Voit esimerkiksi näyttää tiettyjen käyttäjien sähköpostien määrän lajiteltuna alenevaan järjestykseen:
$mtl | group-object -property sender | Select-Object name,count | Sort-Object count -desc
Group-Object-, Select-Object- ja Sort-Object-kolmikon avulla yhdessä Get-MessageTrackingLog-senttikomentokomennon (Get-MessageTrackingLog-senttikomentokomennon) kanssa saat helposti haluamasi sähköpostivirran tilastot.
Kohtaisten viestien jäljittäminen Get-MessageTrackingLogin avulla
Viimeiseksi, jos haluat tarkistaa, mitä tietylle toimittamattomalle viestille tapahtui, voit näyttää nopeasti kaikki tärkeimmät tiedot pumppaamalla haun Format-List-cmdletiin:
… | FL –Property Sender, Recipients, MessageSubject, RecipientStatus
Yllä olevassa esimerkissä näet helposti, että viestiä ei toimitettu kuljetussäännön vuoksi. Tässä kävi ilmi, että jossain vaiheessa joku on ottanut käyttöön sähköpostivirtasäännön, joka estää kaikki viestit, joiden aiheessa on liitetiedosto ja avainsana Kitten.
Asetetaan, että yrityksestä on vuotanut ulos jotain salaista tietoa. Viestien seurantalokit voivat auttaa sinua paikallistamaan käyttäjät, jotka ovat lähettäneet sähköposteja yrityksesi ulkopuolelle, esimerkiksi tietylle kilpailevalle yritykselle.
Get-MessageTrackingLog –ResultSize Unlimited | Where -Property Recipients -Like "*@competitive-company.com"
Hakujen avulla voit löytää epäillyt. Saatat tietysti joutua laajentamaan tai tiukentamaan hakuehtoja, mutta se riippuu siitä, kuinka paljon tietoja sinulla on. Se, mitä teet tuloksilla, ei ole ylläpitäjän blogiin tarkoitettu keskustelu.
Lisälukemista:
- Viestien seuranta Office 365:ssä (Exchange Online)
- Exchange 2019, 2016, 2013, 2010 postilaatikoiden varmuuskopiointi viemällä PST:hen (PowerShell)