Tüm Ürünler
Search
Belge Merkezi

Simple Log Service:PostgreSQL sorgu sonuçlarını toplama

Son Güncelleme:Sep 30, 2026

PostgreSQL sorgu sonuçlarını toplamak için Log Service konsolunda bir Logtail yapılandırması oluşturun.

Önkoşullar

  • Bir sunucuya Linux için Logtail 0.16.0 veya sonraki bir sürüm ya da Windows için Logtail 1.0.0.8 veya sonraki bir sürüm yüklenmiştir. Daha fazla bilgi için bkz. Logtail'i yükleme (Linux) veya Logtail'i yükleme (Windows).

    Önemli

    Logtail'in yüklü olduğu sunucunun hedef veritabanına bağlanabildiğinden emin olun.

  • Logtail'in yüklü olduğu sunucunun IP adresi, PostgreSQL veritabanının izin listesine eklenmiştir.

    Örneğin, bir RDS for PostgreSQL veritabanı için izin listesi yapılandırmak üzere bkz. İzin listesi yapılandırma.

Özellikler

  • PostgreSQL veritabanından sorgu sonuçlarını toplama.

  • Sayfalama desteği.

  • Saat dilimi ayarları.

  • Zaman aşımı ayarları.

  • Checkpoint durumunun kalıcı olarak saklanması.

  • Her çalıştırmada toplanacak maksimum kayıt sayısının yapılandırılabilmesi.

Yordam

  1. Simple Log Service konsoluna giriş yapın.

  2. Import Data bölümünde Custom Data Plug-in seçeneğini belirleyin.

  3. Hedef project ve Logstore öğelerini seçin, ardından Next düğmesine tıklayın.

  4. Machine Group Configurations adımında bir makine grubu yapılandırın.

    1. Scenario ve Installation Environment parametrelerini ihtiyaçlarınıza göre yapılandırın.

      Önemli

      Bir makine grubunun mevcut olup olmadığından bağımsız olarak Scenario ve Installation Environment parametrelerini yapılandırmanız gerekir. Parametre ayarları sonraki yapılandırmaları etkiler.

    2. Applied Server Groups bölümünde bir makine grubunun görüntülendiğinden emin olun ve Next düğmesine tıklayın.

      Makine grubu mevcut

      Source Machine Group bölümünden bir makine grubu seçin.

      image

      Makine grubu mevcut değil

      Create Machine Group düğmesine tıklayın. Create Machine Group panelinde parametreleri yapılandırın. Machine Group Identifier parametresini IP Address veya Custom Identifier olarak ayarlayabilirsiniz. Daha fazla bilgi için bkz. Özel tanımlayıcı tabanlı makine grubu oluşturma veya IP adresi tabanlı makine grubu oluşturma.

      Önemli

      Makine grubunu oluşturduktan hemen sonra uygularsanız makine grubunun heartbeat durumu FAIL olarak görünebilir. Bu sorun, makine grubunun Simple Log Service hizmetine bağlanmamış olmasından kaynaklanır. Sorunu çözmek için Automatic Retry seçeneğine tıklayabilirsiniz. Sorun devam ederse bkz. Logtail'de heartbeat bağlantısı algılanmıyor ise ne yapmalıyım?

  5. Configure Data Source sekmesinde Configuration Name ve Plug-in Configuration alanlarını ayarlayın, ardından Next düğmesine tıklayın.

    • inputs zorunludur ve Logtail yapılandırması için veri kaynağı ayarlarını yapılandırmak amacıyla kullanılır.

      Önemli

      inputs içinde yalnızca bir tür veri kaynağı belirtebilirsiniz.

    • processors isteğe bağlıdır ve verileri ayrıştırmak üzere Logtail yapılandırması için veri işleme ayarlarını yapılandırmak amacıyla kullanılır. Bir veya daha fazla işleme yöntemi belirtebilirsiniz.

      Günlükleriniz yalnızca inputs ayarıyla ayrıştırılamıyorsa veri işlemek için eklentiler eklemek amacıyla Plug-in Configuration alanında processors yapılandırabilirsiniz. Örneğin; alan çıkarma, günlük zamanını çıkarma, veri maskeleme ve günlük filtreleme işlemlerini yapabilirsiniz. Daha fazla bilgi için bkz. Veri işleme için Logtail eklentileri.

    {
      "inputs": [
        {
          "type": "service_pgsql",
          "detail": {
            "Address": "pgm-****.pg.rds.aliyuncs.com",
            "User": "****",
            "Password": "*******",
            "DataBase": "****",
            "Limit": true,
            "PageSize": 100,
            "StateMent": "select * from specialalarmtest where id > $1 order by id",
            "CheckPoint": true,
            "CheckPointColumn": "id",
            "CheckPointStart": "0",
            "CheckPointSavePerPage": true,
            "CheckPointColumnType": "int",
            "IntervalMs": 1000
          }
        }
      ]
    }
  6. Parameter

    Type

    Required

    Description

    type

    string

    Yes

    Veri kaynağı türü. Değeri service_pgsql olarak ayarlayın.

    Address

    string

    No

    PostgreSQL veritabanı uç noktası. Örnek: pgm-****.pg.rds.aliyuncs.com.

    Varsayılan değer: 127.0.0.1:5432.

    User

    string

    No

    PostgreSQL veritabanı kullanıcı adı.

    Varsayılan değer: root.

    Password

    string

    No

    Belirtilen kullanıcı adı için parola. Yapılandırılmazsa parola kullanılmaz.

    Hassas kimlik bilgileri için kullanıcı adı ve parolayı xxx olarak ayarlamanızı öneririz. Logtail yapılandırması yerel makineyle senkronize edildikten sonra yerel /usr/local/ilogtail/user_log_config.json dosyasındaki yapılandırmayı bulun ve güncelleyin. Daha fazla bilgi için bkz. Yerel yapılandırmayı değiştirme.

    Önemli

    Bu parametreyi konsolda değiştirirseniz değişiklik, senkronizasyon sırasında yerel yapılandırmanın üzerine yazılır.

    DataBase

    string

    No

    PostgreSQL veritabanı adı.

    DialTimeOutMs

    int

    No

    PostgreSQL veritabanı bağlantı zaman aşımı. Birim: milisaniye (ms).

    Varsayılan değer: 5.000 ms.

    ReadTimeOutMs

    int

    No

    PostgreSQL veritabanından sorgu sonuçlarını okuma zaman aşımı. Birim: ms.

    Varsayılan değer: 5.000 ms.

    StateMent

    string

    No

    SELECT ifadesi.

    CheckPoint parametresini true olarak ayarlarsanız StateMent içindeki SELECT ifadesinin WHERE yan tümcesi checkpoint sütununu (CheckPointColumn parametresi) içermeli ve değerini $1 olarak ayarlamalıdır. Örnek: CheckPointColumn parametresini id olarak ayarlarsanız StateMent parametresini SELECT * from ... where id > $1 şeklinde ayarlayın.

    Limit

    boolean

    No

    Sayfalama için LIMIT kullanımının etkinleştirilip etkinleştirilmeyeceği.

    Varsayılan değer: false (sayfalama devre dışı).

    Sayfalamayı etkinleştirmenizi öneririz. Limit parametresini true olarak ayarlarsanız SQL sorgusu yürütüldüğünde StateMent ifadesine otomatik olarak bir LIMIT yan tümcesi eklenir.

    PageSize

    int

    No

    Sayfa boyutu. Limit parametresi true olarak ayarlandığında gereklidir.

    MaxSyncSize

    int

    No

    Her çalıştırmada toplanacak maksimum kayıt sayısı.

    Varsayılan değer: 0 (sınır yok).

    CheckPoint

    boolean

    No

    Checkpoint kullanımının etkinleştirilip etkinleştirilmeyeceği.

    Varsayılan değer: false.

    CheckPointColumn

    string

    No

    Checkpoint sütun adı.

    CheckPoint parametresi true olarak ayarlandığında bu parametre gereklidir.

    Uyarı

    Bu sütundaki değerler artan sırada olmalıdır. Aksi takdirde toplama sırasında veri kaybı yaşanabilir. Her sorgu sonucundaki maksimum değer, sonraki sorgu için giriş olarak kullanılır.

    CheckPointColumnType

    string

    No

    Checkpoint sütununun veri türü. Geçerli değerler: int ve time. int türü int64 olarak depolanır. time türü PostgreSQL zaman veri türlerini destekler.

    CheckPoint parametresi true olarak ayarlandığında bu parametre gereklidir.

    CheckPointStart

    string

    No

    İlk checkpoint değeri.

    CheckPoint parametresi true olarak ayarlandığında bu parametre gereklidir.

    CheckPointSavePerPage

    boolean

    No

    Her sayfa toplandıktan sonra checkpoint değerinin kaydedilip kaydedilmeyeceği.

    • true: Her sayfadan sonra checkpoint değerini kaydet.

    • false: Her toplama döngüsünden sonra checkpoint değerini kaydet.

    IntervalMs

    int

    Yes

    Toplama aralığı. Birim: ms.

  7. Dizinleri oluşturun ve verileri ön izleyin. Ardından Next düğmesine tıklayın. Simple Log Service hizmetinde varsayılan olarak tam metin dizini oluşturma etkindir. Toplanan günlükler için manuel olarak alan dizinleri oluşturabilir veya Automatic Index Generation düğmesine tıklayabilirsiniz. Simple Log Service hizmeti ardından alan dizinlerini oluşturur. Daha fazla bilgi için bkz. Dizin oluşturma.

    Önemli

    Günlüklerdeki tüm alanları sorgulamak istiyorsanız tam metin dizinlerini kullanmanızı öneririz. Yalnızca belirli alanları sorgulamak istiyorsanız alan dizinlerini kullanmanızı öneririz. Bu yaklaşım dizin trafiğini azaltmaya yardımcı olur. Alanları analiz etmek istiyorsanız alan dizinleri oluşturmanız gerekir. Analiz için sorgu ifadenizde bir SELECT ifadesi bulunmalıdır.

  8. Logstore için Query & Analysis sayfasına gitmek üzere Query Log düğmesine tıklayın.

    Dizinlerin etkili olması yaklaşık bir dakika sürebilir. Ardından toplanan günlükleri Raw Logs sekmesinde görüntüleyebilirsiniz. Daha fazla bilgi için bkz. Günlük sorgulama ve analizi için hızlı başlangıç.

Yerel yapılandırmayı değiştirme

Plug-in Configuration alanında Address, User ve Password gibi parametreler için gerçek değerler girmediyseniz Logtail yapılandırması sunucuya uygulandıktan sonra bu değerleri manuel olarak değiştirebilirsiniz.

Linux

  1. Logtail'in yüklü olduğu sunucuda oturum açın.

  2. /usr/local/ilogtail/user_log_config.json dosyasını açın, service_pgsql ifadesini arayın ve ardından Address, User ve Password gibi alanları değiştirin.

  3. Logtail'i yeniden başlatmak için aşağıdaki komutu çalıştırın.

    sudo /etc/init.d/ilogtaild stop; sudo /etc/init.d/ilogtaild start

Windows

  1. Logtail'in yüklü olduğu sunucuda oturum açın.

  2. C:\Program Files\Alibaba\Logtail\user_log_config.json dosyasını açın, service_pgsql ifadesini arayın ve ardından Address, User ve Password gibi alanları değiştirin.

    Dosya yolu, 64 bit ve 32 bit Windows işletim sistemleri için farklıdır. Daha fazla bilgi için bkz. Dosya yolları.

  3. Logtail'i yeniden başlatın:

    1. Start Menu > Control Panel > Administrative Tools > Services yolunu izleyin.

    2. Services iletişim kutusunda yönetmek istediğiniz hizmeti seçin.

      • Logtail V0.x.x.x sürümü için LogtailWorker seçeneğini belirleyin.

      • Logtail V1.0.0.0 veya sonraki bir sürüm için LogtailDaemon seçeneğini belirleyin.

    3. Hizmete sağ tıklayın ve Start, Stop veya Restart seçeneğini belirleyin.

Sorun giderme

Günlükleri toplamak üzere Logtail'i yapılandırdıktan sonra ön izleme veya sorgu sayfasında veri görünmüyorsa bkz. Logtail toplama hatalarını giderme.

Örnek veritabanı tablosu ve günlükler

Aşağıdaki örnekte örnek bir PostgreSQL tablo şeması ve Logtail tarafından toplanan günlükler gösterilmektedir.

  • Örnek tablo şeması

    // Create a table.
    CREATE TABLE IF NOT EXISTS specialalarmtest (
        id BIGSERIAL NOT NULL,
        time TIMESTAMP NOT NULL,
        alarmtype varchar(64) NOT NULL,
        ip varchar(16) NOT NULL,
        COUNT INT NOT NULL,
        PRIMARY KEY (id)
    );
    // Insert data.
    insert into specialalarmtest (time, alarmtype, ip, count) values(now(), 'NO_ALARM', '10.10.***.***', 0);
    insert into specialalarmtest (time, alarmtype, ip, count) values(now(), 'NO_ALARM', '10.10.***.***', 1);
    insert into specialalarmtest (time, alarmtype, ip, count) values(now(), 'NO_ALARM', '10.10.***.***', 2);
    insert into specialalarmtest (time, alarmtype, ip, count) values(now(), 'NO_ALARM', '10.10.***.***', 3);
                            
  • Örnek günlükler: Verileri ekledikten sonra bir günlük sorgusu, id değerleri 14, 15 ve 16 olan; count değerleri 1, 2 ve 3 olan; alarmtype değerleri NO_ALARM olan ve ip değeri 10.10.***.*** olan üç kayıt döndürür.