این دستور grok است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.
برنامه:
نام
grok - گزارشها را تجزیه کنید، رویدادها را مدیریت کنید و متن بدون ساختار خود را ساختارمند کنید.
خلاصه
گرگ [-d] -f پیکربندی
شرح
Grok نرم افزاری است که به شما امکان می دهد به راحتی لاگ ها و سایر فایل ها را تجزیه کنید. با گروک، شما می توانید
داده های لاگ و رویداد بدون ساختار را به داده های ساخت یافته تبدیل کنید.
برنامه grok یک ابزار عالی برای تجزیه داده های گزارش و خروجی برنامه است. می توانید مطابقت دهید
هر تعداد الگوی پیچیده بر روی هر تعداد ورودی (فرآیندها و فایل ها) و دارند
واکنش های سفارشی
OPTIONS
-d or --اهریمن، دیو
بعد از تجزیه فایل کانفیگ دیمونیزه کنید. اجرا شده با روح پلید(3). پیش فرض به است
در پیش زمینه بماند
-f پیکربندی
یک فایل پیکربندی grok را برای استفاده مشخص کنید.
پیکربندی
شما می توانید فایل کانفیگ را هر چیزی که می خواهید فراخوانی کنید. یک نمونه کامل پیکربندی در زیر آمده است، با
اسناد در مورد گزینه ها و پیش فرض ها
# --- نمونه پیکربندی grok را شروع کنید
# این یک نظر است. :)
#
# اشکال زدایی را فعال یا غیرفعال کنید. Debug به طور پیش فرض false تنظیم شده است.
# تنظیم «اشکالزدایی» در هر سطح معتبر است.
# مقدار اشکال زدایی در پایین محدوده کپی می شود مگر اینکه لغو شود.
اشکال زدایی: درست است
# می توانید چندین بلوک برنامه را در یک فایل پیکربندی تعریف کنید.
# یک برنامه فقط مجموعه ای از ورودی ها (فایل ها، execs) و
# مطابقت (الگوها و واکنش ها)،
برنامه {
اشکال زدایی: نادرست
# فایل بدون بلوک. بلوک تنظیمات اختیاری است
فایل "/var/log/messages"
# فایل با یک بلوک
فایل "/var/log/secure" {
# follow به معنای دنبال کردن فایلی مانند 'tail -F' است اما شروع می شود
# خواندن در ابتدای فایل. یک فایل دنبال می شود
# از طریق کوتاه کردن، چرخش گزارش و الحاق.
دنبال کردن: درست
}
# یک دستور را اجرا کنید، بلوک تنظیمات اختیاری است
exec "netstat -rn"
# exec با یک بلوک
exec "ping -c 1 www.google.com" {
# بهمحض خروج، exec را بهمحض خروج، بهطور خودکار دوباره اجرا کنید.
# پیشفرض نادرست است
راه اندازی مجدد در هنگام خروج: نادرست
# حداقل زمان از یک شروع تا شروع بعدی، اگر ما
# در حال راه اندازی مجدد پیش فرض هیچ حداقلی نیست
حداقل فاصله شروع مجدد: 5
# هر N ثانیه اجرا شود، اما فقط در صورتی که فرآیند خارج شده باشد.
# پیشفرض اصلاً اجرا مجدد نمیشود.
فاصله اجرا: 60
پیشفرض # خواندن خروجی فرآیند فقط از stdout است.
# این را روی true تنظیم کنید تا از stderr نیز خوانده شود.
read-stderr: نادرست
}
# می توانید چندین بلوک مطابق {} در پیکربندی خود داشته باشید.
# آنها به ترتیب در برابر هر خط ورودی اعمال می شوند
# از نمونه های exec و فایل شما در این بلوک برنامه می آید.
همخوانی داشتن {
# مطابقت با یک الگو. این می تواند هر regexp باشد و می تواند %{foo} را شامل شود
# الگوهای گروک
الگو: "الگویی برای مطابقت"
# می توانید چندین الگو را در اینجا داشته باشید، هر کدام برای تطبیق معتبر هستند.
الگو: "الگویی دیگر برای مطابقت"
# واکنش پیشفرض «%{@LINE}» است که خط کامل است
# تطبیق. واکنش می تواند مقدار خاصی از «هیچ» باشد که
# یعنی هیچ واکنشی رخ نمی دهد یا می تواند هر رشته ای باشد. را
# واکنش به پوسته ساطع می شود اگر هیچ کدام نباشد.
واکنش: "%{@LINE}"
# پوسته پیشفرض 'stdout' است که به معنای واکنشها هستند
# مستقیماً در خروجی استاندارد چاپ می شود. تنظیم پوسته به a
# رشته فرمان آن فرمان را اجرا می کند و داده های واکنش را به آن لوله می کند
# آی تی.
#پوسته: stdout
پوسته: "/ بن / شل"
# بعد از هر نوشتن روی پوسته، فلاش کنید.
# پیش فرض فلاش نیست.
فلاش: درست است
# break-if-match به این معنی است که هیچ مسابقه دیگری را انجام ندهید
#این خط حالت پیش فرض غلط است.
شکست اگر تطبیق: درست است
}
}
# -- پایان پیکربندی
الگو فایل ها
فایل های الگو حاوی لیستی از نام ها و الگوها برای بارگیری در grok هستند.
الگوها با خط جدید محدود شده اند و این نحو را دارند:
نام الگو بیان
هر فضای خالی بین نام الگو و عبارت نادیده گرفته می شود.
نام الگو
این نام الگوی شما است که وقتی بارگذاری می شود، می توان به الگوهایی به عنوان ارجاع داد
%{patternname}
بیان
عبارت در اینجا، کلمه به کلمه، به عنوان یک عبارت منظم در دسترس است. شما احتیاج ندارید
نگرانی در مورد چگونگی فرار از چیزها
الگو مثال ها
DIGITS \d+
HELLOWORLD \bhello world\b
منظم اصطلاحات
موتور بیان زیر grok PCRE است. هر نحو در PCRE در grok معتبر است.
واکنشها
واکنشها میتوانند به الگوهای نامگذاری شده از مسابقه اشاره کنند. شما همچنین می توانید به چند مورد دیگر دسترسی داشته باشید
ارزش های ویژه، از جمله:
%{@LINE}
خط مطابقت داشت.
٪{@همخوانی داشتن}
رشته فرعی مطابقت داشت
%{@START}
موقعیت شروع مسابقه از ابتدای رشته.
٪{@پایان}
موقعیت پایانی مسابقه.
%{@LENGTH}
طول مسابقه
%{@JSON}
مجموعه کامل الگوهای گرفته شده، کدگذاری شده به عنوان فرهنگ لغت json به عنوان ساختاری از {
الگو: [ آرایه عکسبرداری ] }. ما از یک آرایه استفاده می کنیم زیرا می توانید از همان نام استفاده کنید
الگوی چندین بار در یک مسابقه
%{@JSON_COMPLEX}
مشابه موارد بالا، اما شامل موقعیت شروع و پایان برای هر الگوی نامگذاری شده است.
آن ساختار این است:
{ "گروک": [
{ "@LINE": { "شروع": ...، "پایان": ...، "مقدار": ... } },
{ "@MATCH": { "شروع": ...، "پایان": ...، "مقدار": ... } },
{ "patternname": { "start": startpos, "end": endpos, "value": "string" } },
{ "patternname2": { "start": startpos, "end": endpos, "value": "string" } },
...
] }
واکنش فیلتر
فیلترهای واکنش به شما این امکان را می دهند که داده های گرفته شده را تغییر دهید. فیلترهای زیر هستند
در دسترس:
نمونه ای از استفاده از فیلتر در واکنش به این صورت است:
واکنش: "echo Matched: %{@MATCH|shellescape}"
پوسته
از همه کاراکترهای لازم برای ایمن کردن رشته در پوسته غیر نقل قولی فرار می کند
استدلال
shelldqescape
از کاراکترهای لازم برای ایمن بودن در دو نقل قول در پوسته فرار می کند.
jsonencode
رشته را برای نمایش در یک رشته json ایمن می کند (بر اساس json.org فرار می کند
توصیه ها)
با استفاده از خدمات onworks.net از grok آنلاین استفاده کنید