मैं serilog-elasticsearch sink . मैं गतिशील रूप से अनुक्रमणिका बनाने और लॉग लिखने में सक्षम था।

मैं सेरिलोग-लोचदार के लिए app.settings विधि का उपयोग कर रहा था। नेट प्रोजेक्ट में मेरी ऐप-सेटिंग्स निम्नलिखित हैं, जिनसे मैं लॉग बनाता हूं।

 <add key="serilog:using" value="Serilog.Sinks.Elasticsearch" />
<add key="serilog:write-to:Elasticsearch.nodeUris" value="http://localhost:9200" />
<add key="serilog:write-to:Elasticsearch.indexFormat" value="app-index-{0:yyyy.MM.dd}" />
<!--<add key="serilog:write-to:Elasticsearch.templateName" value="apptemplate" />--> 
<add key="serilog:write-to:Elasticsearch.typeName" value="appLogEvent" />
<add key="serilog:write-to:Elasticsearch.pipelineName" value="geoip" />
<add key="serilog:write-to:Elasticsearch.batchPostingLimit" value="50" />
<add key="serilog:write-to:Elasticsearch.emitEventFailure" value="WriteToSelfLog" />
<add key="serilog:write-to:Elasticsearch.period" value="2" />
<add key="serilog:write-to:Elasticsearch.inlineFields" value="true" />
<add key="serilog:write-to:Elasticsearch.minimumLogEventLevel" value="Debug" />
<!--<add key="serilog:write-to:Elasticsearch.bufferBaseFilename" value="C:\Logs\elastic-buffer.log" />--> 
<add key="serilog:write-to:Elasticsearch.bufferFileSizeLimitBytes" value="5242880" />
<add key="serilog:write-to:Elasticsearch.bufferLogShippingInterval" value="5000" />
 <!--<add key="serilog:write-to:Elasticsearch.connectionGlobalHeaders" value="Authorization=Bearer SOME-TOKEN;OtherHeader=OTHER-HEADER-VALUE" />--> 
<add key="logPath" value="C:\Logs\App" />
<add key="logLevel" value="Error" />
<!-- Log Rolling: File size limit for roll over (code defaults to 50MB if not specified here) -->
<add key="logRollFileSizeLimit" value="52428800" />
<!-- Log Rolling: Number of files to retain when rolled over (defaults to 10 if not specified here) -->
<add key="logRollFileRetainCount" value="10" />

मुझे अनुक्रमित दस्तावेज़ों पर एक प्लगइन जियोआईपी-प्रोसेसर लागू करने और लॉग में आईपी पते की पहचान करने और उन्हें भू-कोड में बदलने की आवश्यकता थी।

मैंने प्रोसेसर को निष्पादित करने और आवश्यक डेटा को मैप करने के लिए पाइपलाइन बनाई। मैं देव-कंसोल टूल का उपयोग करके इसका परीक्षण करने में सक्षम था। लेकिन जब मैंने ऐप में निर्दिष्ट करके दस्तावेज़ों पर एक ही पाइपलाइन लागू की। सेटिंग्स, यह काम नहीं करता है। मैंने अलग-अलग पाइपलाइन बनाई और कोशिश की, लेकिन बहुत कम सफलता मिली। मेरी पाइपलाइन निम्नलिखित है:

{ "geoip" : { "description" : "Add geo ip info", "processors" : [ { "set" : { "field" : "IP1", "value" : "{{response.IP}}" } }, { "trim" : { "field" : "IP1" } }, { "geoip" : { "field" : "IP1", "target_field" : "geo_address", "ignore_missing" : true, "database_file" : "GeoLite2-Country.mmdb" } } ] } }

मैंने इलास्टिक लॉग की जाँच की, लेकिन कुछ भी संदिग्ध नहीं मिला। इलास्टिक्स खोज का संस्करण है: 6.6.0। नेट संस्करण 4.5.2 है। संकुल से संबंधित नगेट पैकेज के अन्य संस्करण हैं। कॉन्फ़िगरेशन फ़ाइल हैं:

<package id="ElasticSearch.Net" version="5.5.0" targetFramework="net452" /> <package id="Serilog" version="2.5.0" targetFramework="net452" /> <package id="Serilog.Formatting.Compact" version="1.0.0" targetFramework="net452" /> <package id="Serilog.Settings.AppSettings" version="2.1.0" targetFramework="net452" /> <package id="Serilog.Sinks.ElasticSearch" version="5.4.0" targetFramework="net452" /> <package id="Serilog.Sinks.File" version="4.0.0" targetFramework="net452" /> <package id="Serilog.Sinks.PeriodicBatching" version="2.1.1" targetFramework="net452" /> <package id="Serilog.Sinks.RollingFile" version="3.3.0" targetFramework="net452" /> <package id="Serilog.Sinks.Seq" version="3.3.3" targetFramework="net452" />

0
Akhil Jose 18 फरवरी 2019, 13:15

1 उत्तर

सबसे बढ़िया उत्तर

समस्या इलास्टिक्स खोज और सेरिलोग.सिंक्स.इलास्टिक्स खोज के संस्करण विरोध के कारण थी। ऐसा लगता है कि संस्करण को नवीनतम में अद्यतन करने की आवश्यकता है। मैं Serilog.Sinks.Elasticsearch संस्करण = 5.4.0 का उपयोग कर रहा था और नवीनतम (7.1.0) में अपडेट किया गया था। पाइपलाइन अब इच्छानुसार क्रियान्वित हो रही है। लोचदार खोज संस्करण 6.6.0 था।

दुर्भाग्य से संस्करण संगतता को जीथब पेज में कहीं भी निर्दिष्ट नहीं किया गया था

0
Akhil Jose 23 मार्च 2019, 15:37