LINUX.ORG.RU

Сообщения kovalev_94

 

Подскажите тему для vim с прозрачным бэкграундом

Форум — General

Сейчас юзаю snazzy, там есть удобная настройка let g:SnazzyTransparent = 1. Подскажите подобные пожалуйста. Или может как независимо от темы оставить прозрачный бэкграунд.

 

kovalev_94
()

Golang slices memory allocation

Форум — Web-development

Доброго времени суток.

Кто может объяснить следующее:

Если просто объявляем слайс - var x []int, слайс равен nil, длина и емкость равны 0.

Если инициализируем пустой слайс var x = []int{} слайс уже имеет указатель на массив но длина с емкостью по прежнему равны 0.

На что выделилась память ? Сколько (под 1 int или под 10)и по какому принципу?

Вот код - https://play.golang.org/p/vuBiSlhrTbQ

 

kovalev_94
()

Как организовано чтение VLAN header в switch/bridge

Форум — General

Насколько мне известно, и картинки с гугла говорят о том же 802.1q заголовок вставляется между dst mac и ether type(тоесть где то в середине а не в конце).

При этом неуправляемые свитчи, мосты в линуксе прекрасно могут игнорировать это поле и обрабатывать трафик как трафик без vlan тэга.

Честно не очень силен в системном программировании, и не очень хочу идти читать учебник по С(хочу но не сейчас), но думал что там просто создается структурка с полями нужного размера, потом весь кадр считывается в структуру и все, в нужном поле нужная инфа.

Вопрос вот в чем - я неправильно понимаю процесс чтения или для просто для вланов специально делается проверка?

Расскажите пожалуйста детально этот процесс.

 

kovalev_94
()

Raspberry pi bridge vlan_filter

Форум — General

Доброго времени суток.

Прочитал недавно что vlan можно настраивать непосредственно на bridge с помощью vlan_filtering. Кому интересно, вот ссылка: https://developers.redhat.com/blog/2017/09/14/vlan-filter-support-on-bridge/

И волею судьбы так получилось что воссоздать подобную хрень я решил на малинке(взять несколько netns, veth соеденить все и глянуть как работает) Но когда пытаюсь включить vlan_filter на бридже меня посылают лесом:

root@raspberrypi:/home/vv# ip link add br0 type bridge
root@raspberrypi:/home/vv# ip link set br0 type bridge vlan_filter 1
RTNETLINK answers: Operation not supported
root@raspberrypi:/home/vv# ip link set br0 type bridge vlan_filter on

При всем этом старый дедовский метод с созданием саб интерфейсов и засовывания из в бридж работает.

Попробовал тоже самое на домашнем компе с федорой - работает.

Малинка: Raspberry Pi 3 model B+

root@raspberrypi:/home/vv# cat /etc/*release
PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
NAME="Raspbian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

Проверил модуль 8021q:

root@raspberrypi:/home/vv# lsmod | grep 8021q
8021q                  32768  0
garp                   16384  1 8021q
Проверил модуль bridge:
root@raspberrypi:/home/vv# lsmod | grep bridge
bridge                135168  0
stp                    16384  2 garp,bridge
llc                    16384  3 garp,bridge,stp
ipv6                  454656  29 bridge
На всякий случай проверил vlan_offload - работает только на rx
root@raspberrypi:/home/vv# ethtool --show-features eth0 | grep vlan
rx-vlan-offload: on
tx-vlan-offload: off [fixed]
rx-vlan-filter: on
vlan-challenged: off [fixed]
tx-vlan-stag-hw-insert: off [fixed]
rx-vlan-stag-hw-parse: off [fixed]
rx-vlan-stag-filter: off [fixed]

Подскажите пожалуйста, куда еще копнуть?

 , ,

kovalev_94
()

FastCGI vs HTTP

Форум — Web-development

Добрый день! Задался таким вопросом - Зачем вообще придумали протокол fastcgi когда уже существовал http. CGI понятно - сервер запустил скипт, передал ему переменные, скрипт отработал отдал страничку серверу, сервер клиенту. На каждый вызов новый процесс. Но в FastCGI мы уже демонизируем интерпритатор, слушаем какой то порт, зачем было создавать еще протокол, оборачивать все в fastcgi записи, если можно было передать данные просто http?

 ,

kovalev_94
()

Prometheus очередь запросов

Форум — Admin

Доброго времени суток. Имею связку prometheus + snmp_exporter. Мониторю порядка 1000 устройств, с интервалом в 1 минуту. Не могу понять как он выстраивает очередь запросов? Тоесть раз в минуту он берет и сразу делает 1000 запросов, или разбивает на куски и за эту минуту делает несколько запросов. Если да то по какому правилу? Вообще, я сделал дамп и там вижу непрерывные запросы, но все таки интересно по каким правилам он это осуществляет и как будет вести себя если количество устройств будет например 100000.

 ,

kovalev_94
()

prometheus + snmp_exporter

Форум — Admin

Добрый день. Пытаюсь собрать связку prometheus + snmp_exporter + graphana. Но реально ничего не понимаю в конфиге для snmp_exporter и конфиге генератора конфигов(LOL). Кто нибудь может сказать где есть (если ли она есть) нормальная документация описывающая значения каждого параметра и различные варианты использования? На гитхабе пример конфига с комментариями, который лично для меня ничего не объясняет.

Вообще вопрос в следующем - есть железка на которой надо мониторить уровень оптического сигнала, портов 2. Oid’ы для этой фигни сделаны не как обычно(1-оид,а от него для каждого порта своя ветка) а по «умному»:

  • 1.3.6.1.4.1.32108.1.9.2.2.0 - 1 порт
  • 1.3.6.1.4.1.32108.1.9.2.3.0 - 2 порт

Я хочу чтобы была одна метрика, просто с разными лэйблами, и вот не знаю как это сделать даже в snmp.yml, не говоря уже про генератор.

 ,

kovalev_94
()

Не монтируется конфиг prometheus в podman

Форум — Admin

Доброго времени суток! Ситуация следующая - хочу примотировать файл с конфигурацией prometheus в контейнер. Стоит Fedora 31 KDE Spin. Делаю так:

podman run -v /home/kovalev/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
На что получаю следующее:
level=info ts=2019-12-29T10:14:09.814Z caller=main.go:294 msg="no time or size retention was set so using the default time retention" duration=15d
level=info ts=2019-12-29T10:14:09.814Z caller=main.go:330 msg="Starting Prometheus" version="(version=2.15.1, branch=HEAD, revision=8744510c6391d3ef46d8294a7e1f46e57407ab13)"
level=info ts=2019-12-29T10:14:09.814Z caller=main.go:331 build_context="(go=go1.13.5, user=root@4b1e33c71b9d, date=20191225-01:04:15)"
level=info ts=2019-12-29T10:14:09.814Z caller=main.go:332 host_details="(Linux 5.3.16-300.fc31.x86_64 #1 SMP Fri Dec 13 17:59:04 UTC 2019 x86_64 5ff79398c499 (none))"
level=info ts=2019-12-29T10:14:09.814Z caller=main.go:333 fd_limits="(soft=1024, hard=1024)"
level=info ts=2019-12-29T10:14:09.814Z caller=main.go:334 vm_limits="(soft=unlimited, hard=unlimited)"
level=info ts=2019-12-29T10:14:09.816Z caller=main.go:648 msg="Starting TSDB ..."
level=info ts=2019-12-29T10:14:09.816Z caller=web.go:506 component=web msg="Start listening for connections" address=0.0.0.0:9090
level=info ts=2019-12-29T10:14:09.820Z caller=head.go:584 component=tsdb msg="replaying WAL, this may take awhile"
level=info ts=2019-12-29T10:14:09.820Z caller=head.go:632 component=tsdb msg="WAL segment loaded" segment=0 maxSegment=0
level=info ts=2019-12-29T10:14:09.822Z caller=main.go:663 fs_type=EXT4_SUPER_MAGIC
level=info ts=2019-12-29T10:14:09.822Z caller=main.go:664 msg="TSDB started"
level=info ts=2019-12-29T10:14:09.822Z caller=main.go:734 msg="Loading configuration file" filename=/etc/prometheus/prometheus.yml
level=info ts=2019-12-29T10:14:09.822Z caller=main.go:517 msg="Stopping scrape discovery manager..."
level=info ts=2019-12-29T10:14:09.822Z caller=main.go:531 msg="Stopping notify discovery manager..."
level=info ts=2019-12-29T10:14:09.822Z caller=main.go:553 msg="Stopping scrape manager..."
level=info ts=2019-12-29T10:14:09.822Z caller=main.go:527 msg="Notify discovery manager stopped"
level=info ts=2019-12-29T10:14:09.822Z caller=main.go:513 msg="Scrape discovery manager stopped"
level=info ts=2019-12-29T10:14:09.822Z caller=main.go:547 msg="Scrape manager stopped"
level=info ts=2019-12-29T10:14:09.822Z caller=manager.go:814 component="rule manager" msg="Stopping rule manager..."
level=info ts=2019-12-29T10:14:09.822Z caller=manager.go:820 component="rule manager" msg="Rule manager stopped"
level=info ts=2019-12-29T10:14:09.824Z caller=notifier.go:598 component=notifier msg="Stopping notification manager..."
level=info ts=2019-12-29T10:14:09.824Z caller=main.go:718 msg="Notifier manager stopped"
level=error ts=2019-12-29T10:14:09.825Z caller=main.go:727 err="error loading config from \"/etc/prometheus/prometheus.yml\": couldn't load configuration (--config.file=\"/etc/prometheus/prometheus.yml\"): open /etc/prometheus/prometheus.yml: permission denied"
Так как делаю из под обычного юзера, и имею rootless container, предварительно поменял права на файлик командой:
podman unshare chown 65534:65534 prometheus.yml
Вот результат инспектирования контейнера:
[kovalev@tristan ~]$ podman container inspect 5ff79398c499
[
    {
        "Id": "5ff79398c4998d3ccdf3dfaca6eb06cfc66b9b49d4b3beb8b3bb5099e3898aed",
        "Created": "2019-12-29T22:14:09.477963528+12:00",
        "Path": "/bin/prometheus",
        "Args": [
            "--config.file=/etc/prometheus/prometheus.yml",
            "--storage.tsdb.path=/prometheus",
            "--web.console.libraries=/usr/share/prometheus/console_libraries",
            "--web.console.templates=/usr/share/prometheus/consoles"
        ],
        "State": {
            "OciVersion": "1.0.1-dev",
            "Status": "exited",
            "Running": false,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 0,
            "ExitCode": 1,
            "Error": "",
            "StartedAt": "2019-12-29T22:14:09.725632208+12:00",
            "FinishedAt": "2019-12-29T22:14:09.838110194+12:00",
            "Healthcheck": {
                "Status": "",
                "FailingStreak": 0,
                "Log": null
            }
        },
        "Image": "61bf337f29560d2c3bc5c73168014eba58eb14fdefa2e05e78a877eae29548cd",
        "ImageName": "docker.io/prom/prometheus:latest",
        "Rootfs": "",
        "Pod": "",
        "ResolvConfPath": "/run/user/1000/overlay-containers/5ff79398c4998d3ccdf3dfaca6eb06cfc66b9b49d4b3beb8b3bb5099e3898aed/userdata/resolv.conf",
        "HostnamePath": "/run/user/1000/overlay-containers/5ff79398c4998d3ccdf3dfaca6eb06cfc66b9b49d4b3beb8b3bb5099e3898aed/userdata/hostname",
        "HostsPath": "/run/user/1000/overlay-containers/5ff79398c4998d3ccdf3dfaca6eb06cfc66b9b49d4b3beb8b3bb5099e3898aed/userdata/hosts",
        "StaticDir": "/home/kovalev/.local/share/containers/storage/overlay-containers/5ff79398c4998d3ccdf3dfaca6eb06cfc66b9b49d4b3beb8b3bb5099e3898aed/userdata",
        "OCIConfigPath": "/home/kovalev/.local/share/containers/storage/overlay-containers/5ff79398c4998d3ccdf3dfaca6eb06cfc66b9b49d4b3beb8b3bb5099e3898aed/userdata/config.json",
        "OCIRuntime": "crun",
        "LogPath": "/home/kovalev/.local/share/containers/storage/overlay-containers/5ff79398c4998d3ccdf3dfaca6eb06cfc66b9b49d4b3beb8b3bb5099e3898aed/userdata/ctr.log",
        "ConmonPidFile": "/run/user/1000/overlay-containers/5ff79398c4998d3ccdf3dfaca6eb06cfc66b9b49d4b3beb8b3bb5099e3898aed/userdata/conmon.pid",
        "Name": "affectionate_turing",
        "RestartCount": 0,
        "Driver": "overlay",
        "MountLabel": "system_u:object_r:container_file_t:s0:c38,c685",
        "ProcessLabel": "system_u:system_r:container_t:s0:c38,c685",
        "AppArmorProfile": "",
        "EffectiveCaps": null,
        "BoundingCaps": [
            "CAP_CHOWN",
            "CAP_DAC_OVERRIDE",
            "CAP_FSETID",
            "CAP_FOWNER",
            "CAP_MKNOD",
            "CAP_NET_RAW",
            "CAP_SETGID",
            "CAP_SETUID",
            "CAP_SETFCAP",
            "CAP_SETPCAP",
            "CAP_NET_BIND_SERVICE",
            "CAP_SYS_CHROOT",
            "CAP_KILL",
            "CAP_AUDIT_WRITE"
        ],
        "ExecIDs": [],
        "GraphDriver": {
            "Name": "overlay",
            "Data": {
                "LowerDir": "/home/kovalev/.local/share/containers/storage/overlay/17dc380ce4a3d9ff4c183149c9a76afa994c6274eda1626371e64bb08b0c7f6a/diff:/home/kovalev/.local/share/containers/storage/overlay/4dd9a0eb233456f41a9198f9715f27196281d12babdd05c2ef612f4c1d940eca/diff:/home/kovalev/.local/share/containers/storage/overlay/6fb46d8a6f3df49e799946d2fc451d22902409dacecb09085131b6d6ca1bdee6/diff:/home/kovalev/.local/share/containers/storage/overlay/5ee3f5c03bf4eb6f16c205e3333054a64134208d97f1115c3dbf600f67fef6b7/diff:/home/kovalev/.local/share/containers/storage/overlay/25210fff5ee214f33ff16e2d439869768f7667cfecfd16ede72fad7d93e1fb3f/diff:/home/kovalev/.local/share/containers/storage/overlay/52883c96afc7e8dd24be66ea918ea96f061f3cb891f19f541f8e7daf35557b8d/diff:/home/kovalev/.local/share/containers/storage/overlay/5e34b15110f56f964b994afe0436aa14973b61a3e85b3f3b33082dd6f1d14d55/diff:/home/kovalev/.local/share/containers/storage/overlay/286c3babfe013d1ca7cd917f7420c75d2f0e18cd90c3980b1668079133f3d63a/diff:/home/kovalev/.local/share/containers/storage/overlay/bbbe98376e3a1e598581a0ab4157ecf6d197ccae008ab72c598216f2d09d0e2f/diff:/home/kovalev/.local/share/containers/storage/overlay/3ec23c475794e68ca6290eb3cbc95b367c6dc1bdca32542c20d95ba40c0f57df/diff:/home/kovalev/.local/share/containers/storage/overlay/0f9ee83b8cfaf53335dcb96eada839e53df5f121b5f6a1a51f3f69ed7b1ea58f/diff:/home/kovalev/.local/share/containers/storage/overlay/1da8e4c8d30765bea127dc2f11a17bc723b59480f4ab5292edb00eb8eb1d96b1/diff",
                "UpperDir": "/home/kovalev/.local/share/containers/storage/overlay/8bcc287349590ec23130bb9a6113b1df46f1793302be45f659c06b446ca1c95a/diff",
                "WorkDir": "/home/kovalev/.local/share/containers/storage/overlay/8bcc287349590ec23130bb9a6113b1df46f1793302be45f659c06b446ca1c95a/work"
            }
        },
        "Mounts": [
            {
                "Type": "volume",
                "Name": "402266a7e133a0891d34d52a808fefedda6785fbf9ec582f82e33181d86d437a",
                "Source": "/home/kovalev/.local/share/containers/storage/volumes/402266a7e133a0891d34d52a808fefedda6785fbf9ec582f82e33181d86d437a/_data",
                "Destination": "/prometheus",
                "Driver": "local",
                "Mode": "",
                "Options": [
                    "nodev",
                    "noexec",
                    "nosuid",
                    "rbind"
                ],
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Name": "",
                "Source": "/home/kovalev/prometheus.yml",
                "Destination": "/etc/prometheus/prometheus.yml",
                "Driver": "",
                "Mode": "",
                "Options": [
                    "rbind"
                ],
                "RW": true,
                "Propagation": "rprivate"
            }
        ],
        "Dependencies": [],
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": [],
            "SandboxKey": "",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "",
            "Gateway": "",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "",
            "IPPrefixLen": 0,
            "IPv6Gateway": "",
            "MacAddress": ""
        },
        "ExitCommand": [
            "/usr/bin/podman",
            "--root",
            "/home/kovalev/.local/share/containers/storage",
            "--runroot",
            "/run/user/1000",
            "--log-level",
            "error",
            "--cgroup-manager",
            "systemd",
            "--tmpdir",
            "/run/user/1000/libpod/tmp",
            "--runtime",
            "crun",
            "--storage-driver",
            "overlay",
            "--storage-opt",
            "overlay.mount_program=/usr/bin/fuse-overlayfs",
            "--events-backend",
            "journald",
            "container",
            "cleanup",
            "5ff79398c4998d3ccdf3dfaca6eb06cfc66b9b49d4b3beb8b3bb5099e3898aed"
        ],
        "Namespace": "",
        "IsInfra": false,
        "Config": {
            "Hostname": "5ff79398c499",
            "Domainname": "",
            "User": "nobody",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "TERM=xterm",
                "HOSTNAME=5ff79398c499",
                "container=podman",
                "HOME=/home"
            ],
            "Cmd": [
                "--config.file=/etc/prometheus/prometheus.yml",
                "--storage.tsdb.path=/prometheus",
                "--web.console.libraries=/usr/share/prometheus/console_libraries",
                "--web.console.templates=/usr/share/prometheus/consoles"
            ],
            "Image": "docker.io/prom/prometheus:latest",
            "Volumes": null,
            "WorkingDir": "/prometheus",
            "Entrypoint": "/bin/prometheus",
            "OnBuild": null,
            "Labels": {
                "maintainer": "The Prometheus Authors <prometheus-developers@googlegroups.com>"
            },
            "Annotations": {
                "io.container.manager": "libpod",
                "io.kubernetes.cri-o.ContainerType": "sandbox",
                "io.kubernetes.cri-o.Created": "2019-12-29T22:14:09.477963528+12:00",
                "io.kubernetes.cri-o.TTY": "false",
                "io.podman.annotations.autoremove": "FALSE",
                "io.podman.annotations.init": "FALSE",
                "io.podman.annotations.privileged": "FALSE",
                "io.podman.annotations.publish-all": "FALSE",
                "org.opencontainers.image.stopSignal": "15"
            },
            "StopSignal": 15
        },
        "HostConfig": {
            "Binds": [
                "402266a7e133a0891d34d52a808fefedda6785fbf9ec582f82e33181d86d437a:/prometheus:rprivate,rw,nodev,noexec,nosuid,rbind",
                "/home/kovalev/prometheus.yml:/etc/prometheus/prometheus.yml:rw,rprivate,rbind"
            ],
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "k8s-file",
                "Config": null
            },
            "NetworkMode": "default",
            "PortBindings": {},
            "RestartPolicy": {
                "Name": "",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "CapAdd": [],
            "CapDrop": [],
            "Dns": [],
            "DnsOptions": [],
            "DnsSearch": [],
            "ExtraHosts": [],
            "GroupAdd": [],
            "IpcMode": "",
            "Cgroup": "",
            "Cgroups": "default",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": false,
            "PublishAllPorts": false,
            "ReadonlyRootfs": false,
            "SecurityOpt": [],
            "Tmpfs": {},
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 65536000,
            "Runtime": "oci",
            "ConsoleSize": [
                0,
                0
            ],
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 0,
            "NanoCpus": 0,
            "CgroupParent": "user.slice",
            "BlkioWeight": 0,
            "BlkioWeightDevice": null,
            "BlkioDeviceReadBps": null,
            "BlkioDeviceWriteBps": null,
            "BlkioDeviceReadIOps": null,
            "BlkioDeviceWriteIOps": null,
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpuRealtimePeriod": 0,
            "CpuRealtimeRuntime": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": [],
            "DiskQuota": 0,
            "KernelMemory": 0,
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": -1,
            "OomKillDisable": false,
            "PidsLimit": 4096,
            "Ulimits": [
                {
                    "Name": "RLIMIT_NOFILE",
                    "Soft": 1024,
                    "Hard": 1024
                }
            ],
            "CpuCount": 0,
            "CpuPercent": 0,
            "IOMaximumIOps": 0,
            "IOMaximumBandwidth": 0
        }
    }
]
Пробовал и от рута запускать, результат тот же. При этом на машине с Centos 7 и Docker все работает:
[lanadmin@galahad ~]$ docker run -v /home/lanadmin/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
level=info ts=2019-12-29T10:22:47.503Z caller=main.go:296 msg="no time or size retention was set so using the default time retention" duration=15d
level=info ts=2019-12-29T10:22:47.503Z caller=main.go:332 msg="Starting Prometheus" version="(version=2.14.0, branch=HEAD, revision=edeb7a44cbf745f1d8be4ea6f215e79e651bfe19)"
level=info ts=2019-12-29T10:22:47.503Z caller=main.go:333 build_context="(go=go1.13.4, user=root@df2327081015, date=20191111-14:27:12)"
level=info ts=2019-12-29T10:22:47.504Z caller=main.go:334 host_details="(Linux 3.10.0-1062.9.1.el7.x86_64 #1 SMP Fri Dec 6 15:49:49 UTC 2019 x86_64 11bd30da244a (none))"
level=info ts=2019-12-29T10:22:47.504Z caller=main.go:335 fd_limits="(soft=1048576, hard=1048576)"
level=info ts=2019-12-29T10:22:47.504Z caller=main.go:336 vm_limits="(soft=unlimited, hard=unlimited)"
level=info ts=2019-12-29T10:22:47.506Z caller=main.go:657 msg="Starting TSDB ..."
level=info ts=2019-12-29T10:22:47.506Z caller=web.go:496 component=web msg="Start listening for connections" address=0.0.0.0:9090
level=info ts=2019-12-29T10:22:47.512Z caller=head.go:535 component=tsdb msg="replaying WAL, this may take awhile"
level=info ts=2019-12-29T10:22:47.515Z caller=head.go:583 component=tsdb msg="WAL segment loaded" segment=0 maxSegment=0
level=info ts=2019-12-29T10:22:47.520Z caller=main.go:672 fs_type=EXT4_SUPER_MAGIC
level=info ts=2019-12-29T10:22:47.520Z caller=main.go:673 msg="TSDB started"
level=info ts=2019-12-29T10:22:47.520Z caller=main.go:743 msg="Loading configuration file" filename=/etc/prometheus/prometheus.yml
level=info ts=2019-12-29T10:22:47.523Z caller=main.go:771 msg="Completed loading of configuration file" filename=/etc/prometheus/prometheus.yml
level=info ts=2019-12-29T10:22:47.523Z caller=main.go:626 msg="Server is ready to receive web requests."
Вот результат docker inspect:
[lanadmin@galahad ~]$ docker container inspect 11bd30da244a
[
    {
        "Id": "11bd30da244a40490bf8a75f342c38007b10e14ae8fe564ceef0aa9fc9b0512d",
        "Created": "2019-12-29T10:22:46.94668574Z",
        "Path": "/bin/prometheus",
        "Args": [
            "--config.file=/etc/prometheus/prometheus.yml",
            "--storage.tsdb.path=/prometheus",
            "--web.console.libraries=/usr/share/prometheus/console_libraries",
            "--web.console.templates=/usr/share/prometheus/consoles"
        ],
        "State": {
            "Status": "exited",
            "Running": false,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 0,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2019-12-29T10:22:47.438270041Z",
            "FinishedAt": "2019-12-29T10:24:44.183894427Z"
        },
        "Image": "sha256:7317640d555e85d809d525dd7da42e703cfae67d0bcf5d6cceff699c76db9ea0",
        "ResolvConfPath": "/var/lib/docker/containers/11bd30da244a40490bf8a75f342c38007b10e14ae8fe564ceef0aa9fc9b0512d/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/11bd30da244a40490bf8a75f342c38007b10e14ae8fe564ceef0aa9fc9b0512d/hostname",
        "HostsPath": "/var/lib/docker/containers/11bd30da244a40490bf8a75f342c38007b10e14ae8fe564ceef0aa9fc9b0512d/hosts",
        "LogPath": "/var/lib/docker/containers/11bd30da244a40490bf8a75f342c38007b10e14ae8fe564ceef0aa9fc9b0512d/11bd30da244a40490bf8a75f342c38007b10e14ae8fe564ceef0aa9fc9b0512d-json.log",
        "Name": "/brave_sutherland",
        "RestartCount": 0,
        "Driver": "overlay2",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": [
                "/home/lanadmin/prometheus.yml:/etc/prometheus/prometheus.yml"
            ],
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "default",
            "PortBindings": {},
            "RestartPolicy": {
                "Name": "no",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "CapAdd": null,
            "CapDrop": null,
            "Capabilities": null,
            "Dns": [],
            "DnsOptions": [],
            "DnsSearch": [],
            "ExtraHosts": null,
            "GroupAdd": null,
            "IpcMode": "private",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": false,
            "PublishAllPorts": false,
            "ReadonlyRootfs": false,
            "SecurityOpt": null,
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "Runtime": "runc",
            "ConsoleSize": [
                0,
                0
            ],
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 0,
            "NanoCpus": 0,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": [],
            "BlkioDeviceReadBps": null,
            "BlkioDeviceWriteBps": null,
            "BlkioDeviceReadIOps": null,
            "BlkioDeviceWriteIOps": null,
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpuRealtimePeriod": 0,
            "CpuRealtimeRuntime": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": [],
            "DeviceCgroupRules": null,
            "DeviceRequests": null,
            "KernelMemory": 0,
            "KernelMemoryTCP": 0,
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": null,
            "OomKillDisable": false,
            "PidsLimit": null,
            "Ulimits": null,
            "CpuCount": 0,
            "CpuPercent": 0,
            "IOMaximumIOps": 0,
            "IOMaximumBandwidth": 0,
            "MaskedPaths": [
                "/proc/asound",
                "/proc/acpi",
                "/proc/kcore",
                "/proc/keys",
                "/proc/latency_stats",
                "/proc/timer_list",
                "/proc/timer_stats",
                "/proc/sched_debug",
                "/proc/scsi",
                "/sys/firmware"
            ],
            "ReadonlyPaths": [
                "/proc/bus",
                "/proc/fs",
                "/proc/irq",
                "/proc/sys",
                "/proc/sysrq-trigger"
            ]
        },
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/647a453e98209b22fdeeeb32a27268e50ddc566bb96cac601c5748b1ea3f5160-init/diff:/var/lib/docker/overlay2/b8b2b15b3bd6b995e5e712e39a7cb298288c4c3d977c158d5a5d3494790b8c1d/diff:/var/lib/docker/overlay2/cdfa15ecf2577bb3c4f28d219b1f42941d3c4abeeb29d52de796258592349ec0/diff:/var/lib/docker/overlay2/0cbba385c98b1e81d0d2c67af198a2e918c23b6b707c7c4dffb68967e1097d61/diff:/var/lib/docker/overlay2/14bf36e78377f8f1ca8da154e07d3161cfe49d2e9516befc33fd2bc33d8ef6ee/diff:/var/lib/docker/overlay2/ff41f5c14922b43db5abad8dd94058f4b04c348302fabc0c60fdad5e294450d4/diff:/var/lib/docker/overlay2/591676068d5cf929289e8c88d6bc176ceea837683ac63e26492658923e577327/diff:/var/lib/docker/overlay2/c840b33aafd5368d9ba50b39ac874e771a250a384f27e1b15e4bff69f1e50caa/diff:/var/lib/docker/overlay2/399b12edbb16c741c65b157e7f81102baaf6ce36e66f00f9496d8d45f0f281e2/diff:/var/lib/docker/overlay2/287ab134ba57b42f2b3f1f69c99fc7b41de1ad409a1aed2d8aaff0fbc94ddbe5/diff:/var/lib/docker/overlay2/8f5e6ba5bac32f6faee37cbe37349781ed4933258f4bdc42ea38b297a847b2f1/diff:/var/lib/docker/overlay2/d26041fab1d13e33c458eaf19e643413b79336e8ef51d016524a5459b147c109/diff:/var/lib/docker/overlay2/4eeb9d1fd133c21617bc2b9ed8beff6ab7023791c576f17f4ce7b5c4f17b1c81/diff",
                "MergedDir": "/var/lib/docker/overlay2/647a453e98209b22fdeeeb32a27268e50ddc566bb96cac601c5748b1ea3f5160/merged",
                "UpperDir": "/var/lib/docker/overlay2/647a453e98209b22fdeeeb32a27268e50ddc566bb96cac601c5748b1ea3f5160/diff",
                "WorkDir": "/var/lib/docker/overlay2/647a453e98209b22fdeeeb32a27268e50ddc566bb96cac601c5748b1ea3f5160/work"
            },
            "Name": "overlay2"
        },
        "Mounts": [
            {
                "Type": "bind",
                "Source": "/home/lanadmin/prometheus.yml",
                "Destination": "/etc/prometheus/prometheus.yml",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "volume",
                "Name": "7b7ab1b523b0999ee3d62dd2ac4ee48b710136fcd3df61409e1f91042f13f4ca",
                "Source": "/var/lib/docker/volumes/7b7ab1b523b0999ee3d62dd2ac4ee48b710136fcd3df61409e1f91042f13f4ca/_data",
                "Destination": "/prometheus",
                "Driver": "local",
                "Mode": "",
                "RW": true,
                "Propagation": ""
            }
        ],
        "Config": {
            "Hostname": "11bd30da244a",
            "Domainname": "",
            "User": "nobody",
            "AttachStdin": false,
            "AttachStdout": true,
            "AttachStderr": true,
            "ExposedPorts": {
                "9090/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
            ],
            "Cmd": [
                "--config.file=/etc/prometheus/prometheus.yml",
                "--storage.tsdb.path=/prometheus",
                "--web.console.libraries=/usr/share/prometheus/console_libraries",
                "--web.console.templates=/usr/share/prometheus/consoles"
            ],
            "Image": "prom/prometheus",
            "Volumes": {
                "/prometheus": {}
            },
            "WorkingDir": "/prometheus",
            "Entrypoint": [
                "/bin/prometheus"
            ],
            "OnBuild": null,
            "Labels": {
                "maintainer": "The Prometheus Authors <prometheus-developers@googlegroups.com>"
            }
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "f8e7ddf90331413ade34b2d1518177dc679c3dca701a153ae5dd32a83dc72d02",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {},
            "SandboxKey": "/var/run/docker/netns/f8e7ddf90331",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "",
            "Gateway": "",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "",
            "IPPrefixLen": 0,
            "IPv6Gateway": "",
            "MacAddress": "",
            "Networks": {
                "bridge": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "NetworkID": "19f2a7e4d014643a0fb8d9e5ebb344de079ef67038958b0ef81864a72252ae64",
                    "EndpointID": "",
                    "Gateway": "",
                    "IPAddress": "",
                    "IPPrefixLen": 0,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "",
                    "DriverOpts": null
                }
            }
        }
    }
]
А теперь самое (на мой взгляд) интересное - Если смонтировать его с именем prometheus2.yml, зайти внутрь, и запустить еще один процесс прометея с новым конфигом и на другом порту - все работает.
[kovalev@tristan ~]$ podman run -d -v /home/kovalev/prometheus.yml:/etc/prometheus/prometheus2.yml prom/prometheus
8967a2a1c42b3022dfc665608b8ef083d2ae37d9a584852142fde2ce6384f149
[kovalev@tristan ~]$ podman exec -it 8967a2a1c42b3022dfc665608b8ef083d2ae37d9a584852142fde2ce6384f149 sh
/prometheus $ ls -lah /etc/prometheus/
total 16K    
drwxr-xr-x    2 nobody   nogroup     4.0K Dec 29 10:27 .
drwxr-xr-x    3 root     root        4.0K Dec 29 10:27 ..
lrwxrwxrwx    1 nobody   nogroup       39 Dec 25 03:06 console_libraries -> /usr/share/prometheus/console_libraries
lrwxrwxrwx    1 nobody   nogroup       31 Dec 25 03:06 consoles -> /usr/share/prometheus/consoles/
-rw-r--r--    1 nobody   nogroup      926 Dec 25 02:59 prometheus.yml
-rw-r--r--    1 nobody   nogroup     1.3K Dec 29 09:07 prometheus2.yml
/prometheus $ /bin/prometheus --config.file="/etc/prometheus/prometheus2.yml" --web.listen-address="0.0.0.0:9091"  
level=info ts=2019-12-29T10:30:42.922Z caller=main.go:294 msg="no time or size retention was set so using the default time retention" duration=15d
level=info ts=2019-12-29T10:30:42.922Z caller=main.go:330 msg="Starting Prometheus" version="(version=2.15.1, branch=HEAD, revision=8744510c6391d3ef46d8294a7e1f46e57407ab13)"
level=info ts=2019-12-29T10:30:42.922Z caller=main.go:331 build_context="(go=go1.13.5, user=root@4b1e33c71b9d, date=20191225-01:04:15)"
level=info ts=2019-12-29T10:30:42.922Z caller=main.go:332 host_details="(Linux 5.3.16-300.fc31.x86_64 #1 SMP Fri Dec 13 17:59:04 UTC 2019 x86_64 8967a2a1c42b (none))"
level=info ts=2019-12-29T10:30:42.922Z caller=main.go:333 fd_limits="(soft=1024, hard=1024)"
level=info ts=2019-12-29T10:30:42.922Z caller=main.go:334 vm_limits="(soft=unlimited, hard=unlimited)"
level=info ts=2019-12-29T10:30:42.924Z caller=main.go:648 msg="Starting TSDB ..."
level=info ts=2019-12-29T10:30:42.924Z caller=web.go:506 component=web msg="Start listening for connections" address=0.0.0.0:9091
level=info ts=2019-12-29T10:30:42.928Z caller=head.go:584 component=tsdb msg="replaying WAL, this may take awhile"
level=info ts=2019-12-29T10:30:42.928Z caller=head.go:632 component=tsdb msg="WAL segment loaded" segment=0 maxSegment=0
level=info ts=2019-12-29T10:30:42.930Z caller=main.go:663 fs_type=EXT4_SUPER_MAGIC
level=info ts=2019-12-29T10:30:42.930Z caller=main.go:664 msg="TSDB started"
level=info ts=2019-12-29T10:30:42.930Z caller=main.go:734 msg="Loading configuration file" filename=/etc/prometheus/prometheus2.yml
level=info ts=2019-12-29T10:30:42.931Z caller=main.go:762 msg="Completed loading of configuration file" filename=/etc/prometheus/prometheus2.yml
level=info ts=2019-12-29T10:30:42.931Z caller=main.go:617 msg="Server is ready to receive web requests."

Подскажите пожалуйста куда копнуть чтобы разобраться. Просто мне кажется что косяк сколько не в podman а в том что он все же несколько отличается от докера.

 , , , ,

kovalev_94
()

docker sshfs

Форум — Development

Добрый день господа!

Помогите пожалуйста советом, может кто сталкивался... Вообщем имею несколько серваков на centos 7 с docker 19.03.

[lanadmin@mordred ~]$ cat /etc/*release
CentOS Linux release 7.7.1908 (Core)
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

CentOS Linux release 7.7.1908 (Core)
CentOS Linux release 7.7.1908 (Core)
[lanadmin@mordred ~]$ 
[lanadmin@mordred ~]$ docker -v
Docker version 19.03.2, build 6a30dfc
[lanadmin@mordred ~]$ 


Ковыряю volume с драйвером sshfs в docker. Зашел такой сюда - https://github.com/vieux/docker-volume-sshfs делаю как в примере...

[lanadmin@mordred ~]$ docker volume create --driver vieux/sshfs -o sshcmd=lanadmin@10.220.127.247:/home/test -o password=mypass sshvolume
[lanadmin@mordred ~]$  docker run -it -v sshvolume:/etc busybox ls /etc
Каталог на удаленном сервере с правами 777 и владельцем lanadmin:lanadmin
[lanadmin@ganimed ~]$ ls -lah /home/test/
итого 8,0K
drwxrwxrwx. 2 lanadmin lanadmin 4,0K сен 21 23:02 .
drwxr-xr-x. 5 root   root   4,0K сен 21 18:48 ..
И когда я пытаюсь запустить контейнер он меня шлет вот с тако ошибкой:
docker: Error response from daemon: failed to copy file info for /var/lib/docker/plugins/518a1874166cf493dd0700d9efec1c3e2d7649cb4a560d44a2af1a6aa16f0526/propagated-mount/5cd59d97ef5e801349f7c06a8f2c113d: failed to chown /var/lib/docker/plugins/518a1874166cf493dd0700d9efec1c3e2d7649cb4a560d44a2af1a6aa16f0526/propagated-mount/5cd59d97ef5e801349f7c06a8f2c113d: lchown /var/lib/docker/plugins/518a1874166cf493dd0700d9efec1c3e2d7649cb4a560d44a2af1a6aa16f0526/propagated-mount/5cd59d97ef5e801349f7c06a8f2c113d: permission denied.
See 'docker run --help'.

Нооооо если я что нибудь положу в тот самый каталог

[lanadmin@ganimed ~]$ touch /home/test/notest.file
То все отлично работает
[lanadmin@mordred ~]$  docker run -it -v sshvolume:/etc busybox ls /etc
hostname     hosts        notest.file  resolv.conf
[lanadmin@mordred ~]$ 
[lanadmin@ganimed ~]$ ls -lah /home/test/
итого 8,0K
drwxrwxrwx. 2 lanadmin   lanadmin   4,0K сен 21 23:15 .
drwxr-xr-x. 5 root     root     4,0K сен 21 18:48 ..
-rwxr-xr-x. 1 lanadmin lanadmin    0 сен 21 23:15 hostname
-rwxr-xr-x. 1 lanadmin lanadmin    0 сен 21 23:15 hosts
-rw-rw-r--. 1 lanadmin lanadmin    0 сен 21 23:14 notest.file
-rwxr-xr-x. 1 lanadmin lanadmin    0 сен 21 23:15 resolv.conf

ЧЯНДТ?

 , ,

kovalev_94
()

Не такой как у всех reverse proxy

Форум — Web-development

Доброго времени суток господа!

Работаю в телеком компании. Есть корп.сеть и сеть состоящая и овер дохрена всякого оборудования.В сети штук 500 оптических приемников которые могут управляться только через вебморду. Есть сервер который живет и в сети оборудования и в корп. сети, на сервере крутится сайтик для мониторинга оборудования.

Задача сделать доступными веб-морды приемников с сайтика.

Решил использовать для этого уже установленный и работающий nginx. Дописал в конфиг вот это:

location ~ "/cybertron/op/(10\.22[0-2]\.[0-9]{0,3}\.[0-9]{0,3})/*(.*)"{
        	proxy_pass http://$1/$2;
        	proxy_http_version 1.1;
        	proxy_set_header Connection keep-alive;
    	}

Вот весь конфиг:

server {
		listen      80;
		server_name 10.220.127.243;

		access_log	/var/log/nginx/10.220.127.243-acc;
		error_log	/var/log/nginx/10.220.127.243-err;

		root /mnt/data/http/cybertron/www;


		location ~ ^/redqueen {
			proxy_pass			http://10.220.127.243;
			proxy_set_header	Host   redqueen;
			proxy_set_header	X-Real-IP	$remote_addr;
		}

		
		location /phpMyAdmin {
			fastcgi_pass   127.0.0.1:9000;
			fastcgi_index  index.php;
			fastcgi_param  QUERY_STRING       $query_string;
        	fastcgi_param  REQUEST_METHOD     $request_method;
        	fastcgi_param  SCRIPT_FILENAME    /mnt/data/http/cybertron/www$fastcgi_script_name;
        	include			fastcgi_params;
			
		}
		location ~ ^/cybertron/static {
			gzip_static on;
		}
		
		location ~ "/cybertron/op/(10\.22[0-2]\.[0-9]{0,3}\.[0-9]{0,3})/*(.*)"{
        	proxy_pass http://$1/$2;
        	proxy_http_version 1.1;
        	proxy_set_header Connection keep-alive;
    	}

		location ~ \.ico$	{ }
		location ~ \.zip$	{ }
		location ~ \.css$	{ }
		location ~ \.jpg$	{ }
		location ~ \.png$	{ }
		location ~ \.gif$   { }
		location ~ \.js$	{ }
		location ~ \.gz$	{ }

		# fonts
		location ~ \.eot$	{ }
		location ~ \.ttf$	{ }
		location ~ \.svg$	{ }
		location ~ \.woff$	{ }
		location ~ \.woff2$	{ }

		location ~ ^/cybertron {
			fastcgi_pass   127.0.0.1:9000;
			fastcgi_index  index.php;
			fastcgi_param  SCRIPT_FILENAME /mnt/data/http/cybertron/www/core.php;
			include        fastcgi_params;
		}

		location / {
			fastcgi_pass   127.0.0.1:9000;
			fastcgi_index  index.php;
			fastcgi_param  SCRIPT_FILENAME /mnt/data/http/cybertron/www/core.php;
			include        fastcgi_params;
		}
    }

Проблемы с которыми столкнулся: 1.У некоторых железок стоит модный

HTTP-EQUIV="REFRESH" CONTENT="1; URL=/welcome.html"
и как только пользователь получает эту страничку он пытается идти на /welcome.html вместо /cybertron/op/ipaddr/welcome.html.А даже если сразу брать вручную /cybertron/op/ipaddr/welcome.html часть контента он подгружает через js и у него это не получается. Вот часть страница welcome.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang=en lang=en><head><title>Login page</title><script language=javascript src="script/include.js"></script><meta http-equiv=content-type content="text/html; charset=UTF-8"/><style> div.jsno {
                color: red;
                font-size:200%;
                width:100%;
                height:100%;
                background-color:yellow;
                text-align: center;
                vertical-align: middle;
                z-index: 90;border:1px solid;
                border-color:black;
                position:absolute;
                top: 0px;
                }
        </style><script type="text/javascript">
                function debugprint(){}
        </script></head><body><style>
            #welcome {
                position: absolute;
                top: 50%;
                left: 50%;
            }
            #welcome_inner {
                position: relative;
                top: -70px;
            }
            #welcome_inner2 {
                position: relative;
                left: -50%;
                width: 400px;
            }
            </style><!--[if lte IE 7]><style>
                div.logo_leftup {
                    margin-left: 75px;
                }
                div.logo_leftdn {
                   margin-left: 66px;
                }
            </style><![endif]--><noscript><div class=jsno>Turn JavaScript on!</div></noscript><div class=gradient><div class=top><div class=logo><div width=320px height=110px><img id=logo_image alt="Planar logo"></img></div><a href="http
            lazy.imgOnLoad = function() { LoginLock(false);  }
            lazy.include("design/device.css");
            lazy.include("script/com_request.js");
            //lazy.include("script/checks.js");
            lazy.include("script/welcome.js");
            //lazy.include("design/logo.gif", o("loading") );
            o("logo_image").src = "design/head_logo.gif";
        </script></body></html>[!http]
Вот JS:
var global_var=0,lazy={context:this,jsExecute:function(a){"undefined"!=typeof execScript?execScript(a):lazy.context.eval?lazy.context.eval(a):eval(a);return null},cssExecute:function(a){var b=lazy.context.document.createElement("style");b.setAttribute("type","text/css");try{b.innerHTML=a}catch(c){b.styleSheet.cssText=a}lazy.context.document.getElementsByTagName("head")[0].appendChild(b);return b},getXHTTPTransport:function(){for(var a=!1,b=[function(){return new XMLHttpRequest},function(){return new ActiveXObject("Msxml2.XMLHTTP")},
function(){return new ActiveXObject("Microsoft.XMLHTTP")}],c=0;c<b.length;c++)try{a=b[c]();break}catch(d){}return a},loadedModules:{},module:function(a){lazy.loadedModules[a]=!0},include:function(a){if(lazy.loadedModules[a]&&!0==lazy.loadedModules[a])return!1;var b=lazy.getXHTTPTransport();b.open("GET","http://"+document.domain+("80"!=document.location.port?":"+document.location.port:"")+"/"+a,!1);b.send(null);return 200!=b.status?null:/\.js$/.test(a)?lazy.jsExecute(b.responseText):/\.css$/.test(a)?
lazy.cssExecute(b.responseText):null}};

2. У других железок какая проблема в том что в src или href указано допустим 5_scripts.js а в дампе видно что запрос идет на /cybertron/op/5_scripts Вот страничка html:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><meta http-equiv="content-type" content="text/html; charset=iso-8859-2"/><title>Lambda PRO 72</title><link rel="stylesheet" type="text/css" href="7_styles.css"/><link href="favicon.ico" rel="shortcut icon" type="image/x-icon"/><script type="text/javascript" src="5_scripts.js"></script><script type="text/javascript">window.onload=function(){f2("vYA","vYB","vYL","vYM","1","vU ");}</script></head>
<!--head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-2"/>
<title>vYt</title>
<link rel="stylesheet" type="text/css" href="7_styles.css"/>
<link href="favicon.ico" rel="shortcut icon" type="image/x-icon"/>
<script type="text/javascript" src="5_scripts.js"></script>
<script type="text/javascript">window.onload=function(){f2("vYA","vYB","vYL","vYM","vYt","vU ");}</script>
</head-->

<body style="visibility:hidden">

<table id="n">
  <!--tr>
    <td class="lo" width="977px" colspan=4>
      <a class="lo" href="0_set.htm" onclick="clearAuthenticationCache('0_set.htm')">Logout</a>
    </td>
  </tr-->
  

  <tr>
    <td class="w"><a href="http://www.vector.com.pl"><img src="8_logo.jpg"/></a></td>
    <td class="w" width="210px">&nbsp;</td>
    <td width="210px"><span>Node setup</span></td>
    <td width="210px"><a href="3_admin.htm">Transponder setup</a></td>
  </tr>
</table>

<table id="c">
<tr>
<form action="0_set.htm" name="fr">
<td class="l">
<div style="height:350px;">&nbsp;</div>
<div id="d1"><img src="LP_72.png"/></div>
<div id="d2" style="display:vYR"><select name="b"><option value="D" selected>prefer A<option value="B" >force A<option value="C" >force B</select></div><div id="d8"><select name="V"><option value="@" >on<option value="V" >20 dB<option value="U" >19 dB<option value="T" >18 dB<option value="S" >17 dB<option value="R" >16 dB<option value="Q" >15 dB<option value="P" >14 dB<option value="O" >13 dB<option value="N" >12 dB<option value="M" >11 dB<option value="L" >10 dB<option value="K" >9 dB<option value="J" >8 dB<option value="I" >7 dB<option value="H" >6 dB<option value="G" >5 dB<option value="F" >4 dB<option value="E" >3 dB<option value="D" >2 dB<option value="C" >1 dB<option value="B" >off</select></div>
<!--div id="d2" style="display:vYR">
<select name="b">
<option value="D" sAD>prefer A
<option value="B" sAB>force A
<option value="C" sAC>force B
</select></div>
<div id="d8">
<select name="V">
<option value="@" sV@>on
<option value="V" sVV>20dB
<option value="U" sVU>19dB
<option value="T" sVT>18dB
<option value="S" sVS>17dB
<option value="R" sVR>16dB
<option value="Q" sVQ>15dB
<option value="P" sVP>14dB
<option value="O" sVO>13dB
<option value="N" sVN>12dB
<option value="M" sVM>11dB
<option value="L" sVL>10dB
<option value="K" sVK>9dB
<option value="J" sVJ>8dB
<option value="I" sVI>7dB
<option value="H" sVH>6dB
<option value="G" sVG>5dB
<option value="F" sVF>4dB
<option value="E" sVE>3dB
<option value="D" sVD>2dB
<option value="C" sVC>1dB
<option value="B" sVB>off
</select></div-->

<div id="d6"><input class ="intext" id="i1a" maxlength="2" size="1" name="H1" value=""/><font size="1">dB</font></div>
<!--div id="da"><input id="i20" maxlength="2" size="1" name="H5" value=""/><font size="1">dB</font></div-->
<div id="dd"></div><div id="dA"></div><div id="dE"></div><div id="dF"></div>
<table>
<tr>
<td class="pc">
<table class="p p2">
<tr><th colspan="3">Power supply</th></tr>
<tr class="o"><td>6V</td><td class="cr"><span id="p01">.</span></td><td>V</td></tr>
<tr><td>12.4V</td><td class="cr"><span id="p03">.</span></td><td>V</td></tr>
</table>
</td>
<tr></table>
</td>

<td class="pc">

<!-- ZAWARTOSC TABELI ZALEZY OD TYPU LP71 / LP72 -->
<table class="p p3">
<tr><th colspan="3">Lambda PRO 72, s/n: 000000802690<!--vYt, s/n: vYs--></th></tr>
<tr class="o"><td>Firmware</td><td><span>1.4.0</span></td>
<tr><td>Temperature</td><td class="cl"><span id="p24">.</span>&nbsp;°C</td>


<tr class="o"><td>Ext. port A</td><td><span id="p26">.</span></td><tr><td>Ext. port B</td><td><span id="p27">.</span></td><tr id="r1rh"><td class="h" colspan="3">Forward receivers</td><tr id="r1r1" class="o"><td>RX power A</td><td class="cl"><span id="p0a">.</span>&nbsp;dBm</td></tr><tr id="r2r1"><td>RX power B</td><td class="cl"><span id="p0b">.</span>&nbsp;dBm</td></tr><tr id="abrh"><td class="h" colspan="3">Extended AB switch configuration</td></tr><tr id="abr1"><td>Active input</td><td><span id="p15">.</span></td><tr id="abr2" class="o"><td>Lower threshold</td><td class="cl"><input class ="intext" id="i16" maxlength="5" size="1" name="H7" value=""/>&nbsp;dBm</td></tr><tr id="abr3"><td>Upper threshold</td><td class="cl"><input class ="intext" id="i17" maxlength="5" size="1" name="H8" value=""/>&nbsp;dBm</td></tr>


<!--tr class="o"><td>Ext. port A</td><td><span id="p26">.</span></td>
<tr><td>Ext. port B</td><td><span id="p27">.</span></td-->


<!--tr id="r1rh"><td class="h" colspan="3">Forward receiver</td>
<tr id="r1r1" class="o"><td>RX power A</td><td class="cl"><span id="p0a">.</span>&nbsp;dBm</td></tr-->


<!--tr id="r1rh"><td class="h" colspan="3">Forward receivers</td>
<tr id="r1r1" class="o"><td>RX power A</td><td class="cl"><span id="p0a">.</span>&nbsp;dBm</td></tr>
<tr id="r2r1"><td>RX power B</td><td class="cl"><span id="p0b">.</span>&nbsp;dBm</td></tr>
<tr id="abrh"><td class="h" colspan="3">Extended AB switch configuration</td></tr>
<tr id="abr1"><td>Active input</td><td><span id="p15">.</span></td>
<tr id="abr2" class="o"><td>Lower threshold</td><td class="cl"><input class ="intext" id="i16" maxlength="5" size="1" name="H7" value=""/>&nbsp;dBm</td></tr>
<tr id="abr3"><td>Upper threshold</td><td class="cl"><input class ="intext" id="i17" maxlength="5" size="1" name="H8" value=""/>&nbsp;dBm</td></tr-->



<tr><td class="h" colspan="3">Output monitoring</td></tr>
<tr><td>Output Level</td><td class="cl"><span id="p28">.</span>&nbsp;dBm</td></tr>
<tr class="o"><td>Reference level</td><td class="cl"><input class ="intext" id="i29" maxlength="3" size="1" name="H6"/>&nbsp;dBm</td></tr>
<tr><td>Delta</td><td class="cl"><span id="p2a">.</span>&nbsp;dBm</td></tr>
</table>

</td></form></tr>

<tr class="o">
<td colspan="4" style="text-align:right; padding:5px;">
<span id="b4" style="visibility:hidden;background:#ffcc00;padding:5px">Node configuration in progress, please wait...</span>
<input id="b1" type="button" value="SET" onclick="doSet()" style="display:vYS" enabled>
<input id="b2" type="button" value="REFRESH" onclick="JavaScript:document.location.assign('0_set.htm')">
<input id="b3" type="button" onclick="window.print()" value="PRINT">
</td></tr>
<tr><td class="f" colspan="4">&copy; 2012 <b><a href="http://www.vector.com.pl">VECTOR</a></b></td></tr>
</table>

</body>
</html>

3. Третий тип умеет keep-alive(в отличии от остальных) но почему то висит долгое время открытым, в дампе нет http ответа вообще, но каким то образом видно окно входа в веб интерфейс.

P.S. Опыта в подобных вещах мало, подскажите пожалуйста если я несу бред и все решается проще

 ,

kovalev_94
()

Переименовать netns

Форум — Admin

Доброго времени суток господа! Кто нибудь может подсказать как можно переименовать существующий netns?

Slackware 14.2, 64bit, ядро 4.4.186 В инетике нашел инструкцию с mount --move, или mount --bind, umount, но оба варианта не работают.

--move - говорит что непонтная fs. --bind - после того как отмонтирую старую netns вместо нее отмонтируется новая.

P.S. Вариант с созданием новой и переносом, я думаю не сработает, т.к. там бридж с воткнутыми в него интерфейсами, и останавливать эту кухню нельзя.

 , ,

kovalev_94
()

bash-completion Slackware

Форум — Desktop

Добрый день.Slackware 14.2(kde). Подскажите пожалуйста, поставил через slackpkg bash-completion. В инструкции на slackwiki написано что все должно быть огонь и после ребута все заработает. В /etc/profile.d есть скриптик bash-completion.sh который я так понимаю и должен мне подключать complete.В этом самом скриптике в первой строке вот такая штука -

 if [ -n "${BASH_VERSION-}" -a -n "${PS1-}" -a -z "${BASH_COMPLETION_COMPAT_DIR-}" ]; then....

Которая собственно и не отрабатывает, из-за $PS1.

Вопрос: я конечно понимаю что все это можно решить простым вызовом без проверок /usr/share/bash-completion/bash_completion из .bashrc. Но хотелось бы понять почему эта хрень не работает из каропки. А если еще точнее то почему в скриптах $PS1 пустая и где я ее должен глобально определить.

 , ,

kovalev_94
()

Помощь с RADEON HD6950

Форум — Linux-hardware

Ситуация такая - Slackware 14.2, ядро 4.4.182, kde5 от alienbob. Карточка radeon hd6950. На данный момент пользуюсь свободным radeon, впринципе работа комфортная, за исключением долго прорисовывающихся окон вопросов, подтверждений, уведомлений. Но не работает видеоплееры, в частности vlc-вылетает с ошибкой сегментирования(короткое гугление намекнуло мне на возможные проблемы с драйверами). Приходится делать страничку с тегом video, и смотреть через хром, кстати в нем прекрасно и фильмы смотрю и ютуб. Проприетарные драйвера поставить не могу, я так понял не получится с моей версией ядра, да и в документации slackware так написано. А с amdgpu как то до конца не могу понять куда копать.

Не могли бы ребята кто пользовался данной картой, или в целом разбираются в этом вопросе мне подсказать в чем проблема- в карточке, дистрибутиве или во мне?)

Да и в целом, с каким вендором лучше и комфортнее живется в линухе, чтобы там и поработать нормально, и поиграть если что? Есть планы на будущее собрать монструозное с али, а какую видяху туда пихать хз.

P.S. Если будете писать что проблема во мне, детализируйте, и предлагайте решения пожалуйста.

 , , ,

kovalev_94
()

Сборка программ, да-да

Форум — General

Доброго времени суток господа. Решил все таки изучить процессы сборки программ на linux. Но полазив по интернету не обнаружил толкового разъяснения что да как, как правило все статьи это скопипасченные - «используйте ./configure make make-install(но все же лучше checkinstall)». Хотелось бы поподробнее, а именно запутался на таких моментах как: разница make cmake automake, приставки .ac .am и еще autogen итд. Покидайте пожалуйста ссылок или названия книг где подробно описан этот процесс со всеми тонкостями.

Заранее благодарен.

 ,

kovalev_94
()

Маскарадинг для дотошных чайников

Форум — Desktop

Всем привет, начал наконец-то изучать iptables. Прочитал несколько статей, вроде даже примерно понял(остались вопросы по пути пакета по цепочкам, т.к. везде по разному описано, думаю решить это тыканием палочкой в каждую цепочку и вдыхания в нос результата).

Статья - https://www.opennet.ru/base/net/debian_multilink.txt.html - в данной статье автор пишет следущее:

$IPT -t nat -A POTROUTING -m mark --mark 10 -j MASQUERADE # натим все пакеты которые имеют метку 10 
 $IPT -t nat -A POTROUTING -m mark --mark 11 -j MASQUERADE # натим все пакеты которые имеют метку 11

Вопрос - разве для маскарада не нужно указывать выходящий интерфейс? Так как у автора два провайдера через какой адрес в итоге выйдет абонент? И почему?

 , , ,

kovalev_94
()

Перевод курсора на слово назад/вперед в konsole

Форум — Desktop

Добрый день. Нигде не могу найти как в konsole осуществить перевод курсора на строку назад или вперед. На сочетания ctrl + left/right arrow печатает 5D/5C. Дистрибутив Slackware 14.2 64bit, kde 5 версии. Помогите пожалуйста!

 ,

kovalev_94
()

Проблемы при использовании vw для конвертинга изображений

Форум — Web-development

Встал на путь изучения web.Пока тычу в html/css. Пытаюсь сделать адаптивный сайтик галерею, по 3 изображения в ряд, изображения должны обрезаться до квадрата. Погуглив как обрезать изображения до квадрата нашел вариант с использованием vw для высоты и ширины изображения(вариант показался мне гораздо более интересным чем 3 вложенных дива, или как еще некоторые писали что без js нельзя).

Проблема в том что изображений в ряду получается 2. И не совсем понятно от какого элемента он вообще считает ширину. Будьте добры помогите.

Собственно сам сайт - https://codepen.io/kovalev94/pen/wZzKyB

 ,

kovalev_94
()

Nginx + Php-fpm - работают только в  usr

Форум — Web-development

Доброго времени суток! Имеется ВМ с Centos 7 minimal, установил nginx, php-fpm, MariaDB. В /etc/php.ini отредактировал cgi.fix_pathinfo=1 на 0. В etc/php-fpm.d/www.conf user и group поменял на nginx. Конфиг nginx -

server {
listen 80;
server_name example.com;
root /mnt/test;

location / {
}

error_page 404 /404.html;
location = /404.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}


location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}


С такой конфигурацией отдает статику, для php пишет - "No input file specified."
Если указываю в root стандартную папку nginx - /usr/share/nginx/html или например какую нибудь тестовую папку в /usr-/usr/test скрипт работает. 
php скрипт - 
<?php phpinfo(); ?>

Смотрел всякие разные HOWTO по установке nginx + php-fpm,  по их примеру впринципе и делал. 
Прошу тыкнуть носом, где я должен что должен дописать или где не правильно пишу.

 ,

kovalev_94
()

Перенаправление stderr в файл в условиях

Форум — Admin

Доброго времени суток всем. Пишу скрипт для опроса коммутаторов на предмет прошивки, и последующего их обновления. Структура скрипта: скрипт А:

 #!/bin/bash
       
       . ./snmpFunctions
       
       while read LINE
       do
       snmpCheckFirmwareActuality $LINE $1 $2
       done < ./networks_for_scan/list_networks
       echo -e "\n\n\n"
       echo -e "Итого:"
       echo -e "Нуждаются в обновлении: $oldFirmwareCount\n"
       echo -e "Имеют актуальное ПО: $actualFirmwareCount\n"

Где $1 - модель коммутатора, $2 - актуальная прошивка, list_networks - текстовый файл с именами файлов с IP адресами(да-да, но подругому никак,нужно было разграничить сеть по районам)
Скрипт В:
#!/bin/bash
       
       cP=public # communityPhrase
       counter=0
       actualFirmwareCount=0
       oldFirmwareCount=0
       
       snmpGetSysModel()
       {
          model=$(snmpget -v 2c -c $cP -m ALL $1 1.3.6.1.2.1.1.1.0)
          modelConverted=$(awk -F ": " 'NR=1{print $2}' <<< $model | awk '{if ($1=="D-Link") print $2; else print $1}')
      }
snmpCheckFirmwareActuality().
      {
      2>>err
      while read LINE
      do
      snmpGetSysModel $LINE
      if [[ $modelConverted == $2 ]]; then
      switchFirmware=$(snmpget -v 2c -c $cP -m ALL $LINE 1.3.6.1.4.1.171.12.1.2.7.1.2.1 2>>err)
      fi
      done < $1
      }
Я хочу чтобы список всех устройств которые не опросились складывался в файл err.
Но скрипт не отрабатывает так я хочу, ошибки выводятся на экран.
Если я комментирую условие и оставляю только 
switchFirmware=$(snmpget -v 2c -c $cP -m ALL $LINE 1.3.6.1.4.1.171.12.1.2.7.1.2.1 2>>err)

Ошибки складываются и в файл и на экран( что мне кстати на руку, но хотелось бы понять почему работает так, ведь должно писать только в файл)

 ,

kovalev_94
()

Default display manager Centos 7

Форум — Desktop

Доброго времени суток всем. Поставил себе Centos 7 с KDE. Вопрос в следующем: почему даже при установке KDE, менеджер входа у меня gdm? Это у меня настолько кривые руки или это особая логика и любовь centos к gnome? Гугление особых ответов мне дало, хотя может плохо старался. Просьба либо без матов послать куда следует, либо просто ответить на вопрос :)

 , ,

kovalev_94
()

RSS подписка на новые темы