跳到主要內容

使用 RobotsTxtCore 建立 robot.txt & sitemap.xml

Nuget Link

透過 nuget 安裝 RobotsTxtCore

>dotnet add package RobotsTxtCore --version 1.1.0

//Startup.cs 
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
  ... 
  app.UseRobotsTxt(builder =>builder
  .AddSection(section => 
    section
      .AddComment("Allow Googlebot")
      .AddUserAgent("Googlebot")
      .AddUserAgent("Googlebot-News")
      .AddUserAgent("Googlebot-Image")
      .AddUserAgent("Googlebot-Mobile")
      .AddUserAgent("Googlebot-Video")
      .AddUserAgent("Mediapartners-Google")
      .AddUserAgent("Adsbot-Google")
      .Allow("/")
  )
  .AddSection(section => 
    section
      .AddComment("Disallow the rest")
      .AddUserAgent("*")
      .AddCrawlDelay(TimeSpan.FromSeconds(10))
      .Disallow("/")
  )
  .AddSitemap("https://${domain}/sitemap.xml")
  );
}

留言

這個網誌中的熱門文章

FluentD 實作 Error Log

FluentD 實作 Error Log 本篇將介紹使用 DotNet 專案 log4net 套件,紀錄的 log 針對 Error Level 的訊息透過FluentD 提取出來 在紀錄中 增加 trace ID 設入 MongoDB , 及加入 Slack 通知 延伸閱讀 FluentD 參數說明 FluentD 實作 Nginx Access Log FluentD 實作 Nginx Access Log 補充 log4net <?xml version="1.0" encoding="utf-8" ?> <configuration> <log4net> <appender name="All" type="log4net.Appender.RollingFileAppender"> <file value="/var/log/my.log" /> <appendToFile value="true" /> <rollingStyle value="Size" /> <datePattern value="yyyy-MM-dd" /> <maximumFileSize value="5MB" /> <maxSizeRollBackups value="10" /> <staticLogFileName value="true" /> <PreserveLogFileNameExtension value="true" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="[%date] [...

Grafana Dashboard 建立

建立自己的 Dashboard # 由於 intelligent sense 相當不錯,輸入關鍵字他會帶出 metric label # 另外可參考 https://prometheus.io/docs/prometheus/latest/querying/basics/ Prometheus Query # 或是直接拿其他已建立的Dashboard 可複製到新的 Dashboard ex: node_memory_MemTotal_bytes # 取伺服器記憶體容量資料 # 過濾條件在{}加入 ex: node_memory_MemTotal_bytes{instance="${server 1}:9100"} # 要取特定伺服器資料 # Setting 中設定 Variables ex: node_memory_MemTotal_bytes{instance=~"$node"} # 變數名稱 node 建立 Alert .Visualization 必須是Graph

Prometheus + Grafana + Exporters = Server Monitor

Grafana 功能強大且美觀的Dashboard Prometheus 用來作為數據收集及儲存,透過設定至各 exporter 端"拉"資料回來 exporter Prometheus exporter 環境建置 使用 docker-compose 時,會依所在目錄建立 ${path}-default docker network 純粹為了賞心悅目 建立一個 monitor-net 集中堆放 Grafana , Prometheus , xxxx exporter 建立 docker network docker network create monitor-net Grafana + Prometheus docker-compose.yml version: '3' services: grafana: image: grafana/grafana ports: - 9000:9000 - 9010:3000 environment: - GF_SERVER_ROOT_URL= - GF_SECURITY_ADMIN_PASSWORD= volumes: # copy grafana.ini to /etc/grafana - /etc/grafana/grafana.ini:/etc/grafana/grafana.ini - /var/lib/grafana:/var/lib/grafana - /var/log/grafana:/var/log/grafana container_name: my-grafana restart: always networks: - myonitornet prometheus: image: prom/prometheus ports: - 9090:9090 volumes: # copy prometheus.yml to /etc/prometheus - /etc/prometheus/prometheus.yml:/etc/prome...