ELK время выполнения
apt-get install rsyncuid = user
gid = root
use chroot = yes
max connections = 50
pid file = /var/run/rsyncd.pid
log file = /var/log/rsync.log
[share]
path = /home/files/ # каталог логов
hosts allow = 192.168.0.1 # адрес сервера 1с
hosts deny = *
#list = true
read only = false
#auth users = s1
#secrets file = /etc/rsyncd.secretsset BACKUP_DIR=E:\1c\complex\syslog\
cd /d %BACKUP_DIR%
C:\cygwin64\bin\rsync.exe -avz --inplace --append --chmod=u=rw --log-file=c:\bat\rsync.log ./*.mlg s1@192.168.100.2::share/1c/C:\cygwin64\bin\rsync.exe -avz --inplace --append --chmod=u=rw --log-file=c:\bat\rsync.log ./*.mlg s1@192.168.100.2::share/1c/
sending incremental file list
1cv7.mlg
sent 298 bytes received 35 bytes 666.00 bytes/sec
total size is 68,683,437 speedup is 206,256.57add-apt-repository -y ppa:webupd8team/java
apt update
apt install oracle-java8-installerjava -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)# wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -# apt install apt-transport-https# echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | tee -a /etc/apt/sources.list.d/elastic-6.x.listapt update
apt-get install elasticsearchsystemctl daemon-reload
systemctl enable elasticsearch.service
systemctl start elasticsearch.servicesystemctl status elasticsearch.servicepath.data: /var/lib/elasticsearch # директория для хранения данных
network.host: 127.0.0.1 # слушаем только локальный интерфейсsystemctl restart elasticsearch.servicenetstat -tulnp | grep 9200
tcp6 0 0 127.0.0.1:9200 :::* LISTEN 14130/javaapt-get install kibanasystemctl daemon-reload
systemctl enable kibana.service
systemctl start kibana.servicesystemctl status kibana.servicenetstat -tulnp | grep 5601
tcp 0 0 127.0.0.1:5601 0.0.0.0:* LISTEN 27401/nodeserver.host: "0.0.0.0"systemctl restart kibana.serviceapt-get install logstashsystemctl enable logstash.serviceinput {
beats {
port => 5044
}
}output {
if [type] == "s1" {
elasticsearch {
hosts => "localhost:9200"
index => "s1-%{+YYYY.MM.dd}"
}
}
else {
elasticsearch {
hosts => "localhost:9200"
index => "unknown_messages"
}
}
#все поступающие данные logstash будет отправлять в системный лог = /var/log/syslog
#Используйте только во время отладки, иначе лог быстро разрастется
#stdout { codec => rubydebug } filter {
if [type] == "s1" {
csv {
separator => ";"
columns => ["date1","time2","user","t1","t2","t3","t4","t5","t6"]
}
mutate {
add_field => {
"timestamp" => "%{date1} %{time2}"
}
# remove_field => ["time1", "time2"]
}
date {
match => ["timestamp", "YYYYMMdd HH:mm:ss"]
target => "@timestamp"
}
if "_dateparsefailure" in [tags] {
drop{}
}
if [t3] in ["ИзмененПроведенный","ЗапускОтчета","ВосстановлениеПоследовательности", "OpenSession", "GrbgRuntimeErr" ] {
# пропускаем обработку этих событий
}
else {
kv {
value_split => ":"
field_split => " ;"
source => "t5"
}
mutate {
convert => { "ВремяВыполнения" => "integer" }
}
}
}
}systemctl start logstash.serviceapt-get install filebeatfilebeat.inputs:
- type: log
enabled: true
paths:
- /home/files/1c/*.mlg
fields:
type: s1
encoding: "cp1251"
fields_under_root: true
scan_frequency: 5s
output.logstash:
hosts: ["localhost:5044"]
xpack.monitoring:
enabled: true
elasticsearch:
hosts: ["http://localhost:9200"]systemctl start filebeatsystemctl enable filebeatФункция Старт(Конт="") Экспорт
Возврат _GetPerformanceCounter();
КонецФункции
Функция Финиш(ВремяНачала, Конт, Имя="", Док="", ТипСобытия="ВнешняяОбработка") Экспорт
Попытка
Путь = Конт.РасположениеФайла();
Исключение
Попытка
// класс
Путь = Конт.ПолучитьПуть();
Исключение
//Путь = "НеопределеннаяОбработка";
ФормаРасш = СоздатьОбъект("РасширениеФормы");
Попытка
ФормаРасш.УстановитьФорму( Конт );
Путь = ФормаРасш.ПолныйТипОбъекта();
Исключение
Путь = "Модуль";
КонецПопытки;
КонецПопытки;
КонецПопытки;
Время= _GetPerformanceCounter() - ВремяНачала;
Сообщение = "Путь:"+Путь+" ВремяВыполнения:"+Время;
Попытка
Сообщение = Сообщение + " Вид:"+Конт.Вид();
Исключение
КонецПопытки;
Если ПустоеЗначение(Имя)=0 Тогда
Сообщение = Сообщение +" Имя:"+Имя;
КонецЕсли;
ЗаписьЖурналаРегистрации(Сообщение, ТипСобытия, , Док, 3);
Возврат Время;
КонецФункции //ФинишПроцедура ОбработкаПроведения(ВидыДвижений)
оф = СоздатьОбъект("ОбщиеФункции");
t1 = оф.Старт();
...
оф.Финиш(t1, Контекст, "ОбработкаПроведения", ТекущийДокумент(), "Документ");
КонецПроцедуры //ОбработкаПроведения()